Script auf entferntem Server ausführen, blockiert FHEM

Begonnen von Bartimaus, 15 November 2024, 14:53:06

Vorheriges Thema - Nächstes Thema

Bartimaus

Servus,

ich führe auf FHEM mit DOIF ein Script (rsync) auf einem entfernten Server aus. Das funktioniert soweit auch ganz gut, jedoch ist FHEM während der Ausführung des Scripts nicht erreichbar. Gibt es hier nicht sowas wie ein "non-blocking" Attribut ?

So siehts aus:
define Do_MediaserverBackup DOIF ([07:30-15:00]\
and [Mediaserver] eq "on"\
and [BackupServer] eq "on")\
({ qx("/usr/local/bin/qbackup.sh") })\
DOELSE

In dem qbackup.sh starte ich per ssh auf dem entfernten Server ein Script mit einer Reihe von "rsync" Befehlen.

Habts hier ein paar Tips ?
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

DeeSPe

FHEM wartet hier auf eine Rückmeldung, deswegen blockiert es.
Probier mal:
qx("/usr/local/bin/qbackup.sh > /dev/null 2>&1 &")
Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Bartimaus

Leider nicht, hier ein Auszug aus dem Log:

sh: 1: /usr/local/bin/qbackup.sh > /dev/null 2>&1 &: not found
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

MadMax-FHEM

Kein qx nutzen ;)

https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html

Einfach den Aufruf des Shell-Scripts in "Hochkomma" und fertig:

"/usr/local/bin/qbackup.sh"

Wobei ich jetzt nicht weiß, ob es da bei DOIF (wieder) irgendwelche "Sonderlocken" gibt (nutze kein DOIF)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Bartimaus

#4
So ?

([07:30-15:00]
and [Mediaserver] eq "on"
and [BackupServer] eq "on")
({("/usr/local/bin/qbackup.sh")})


Oder zuviele Klammern ?
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

MadMax-FHEM

Zitat von: Bartimaus am 15 November 2024, 15:39:22Oder zuviele Klammern ?
Denke: ja ;)

Aber: ich nutze kein DOIF, daher vielleicht mal (selbst) in die commandref schauen!?

Wenn ich DOIF commandref richtig interpretiere, sollte das reichen/gehen:
("/usr/local/bin/qbackup.sh")

Weil das mit den Anführungszeichen sollte "fhem-Code" sein und da reichen in DOIF die runden Klammern?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Bartimaus

Danke,

die eckigen Klammern waren zuviel. Jetzt funktioniert es ohne zu blockieren !!
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly