NEWS
[gelöst] Batchdatei ausführen??
-
Geht das ganze auch auf einer Linux Maschine? Also dortige sh Dateien ausführen?
Grüße
Brati
-
Geht das ganze auch auf einer Linux Maschine? Also dortige sh Dateien ausführen? `
Ja, natürlich.exec('/Pfad_zum_Script/mein_script.sh', function(err, stdout, stderr) { if (err) { log(stderr,'error'); return; } Mach was mit stdout; });
-
Hallo Paul53,
Danke für die Vorlage habe es ein "wenig" umgebaut und es funktioniert zumindest auf meinen
Testsystem. 8-)
exec("cmd.exe /c start D:backup.bat", function(err, stdout, stderr) { if (err) { log(stderr,'error'); return; } });
Also nochmal danke an Euch für die schnellen Antworten.
Fragen kommen bestimmt noch
Mfg
Sven
-
Wenn keine Rückgabe über stdout erfolgt, geht es auch mit weniger Zeilen:
exec("cmd.exe /c start D:backup.bat", function(err, stdout, stderr) { if (err) log(stderr,'error'); });
-
Danke Paul53.
Habe ich übernommen 8-) Danke
Nur noch ne frage,kann man das irgendwie machen/einstellen das das script bei einem
Neustart nicht gestartet wird sondern erst wenn ich den Taster drücke???
So wird´s ja immer neu gestartet beim Neustart und Iobroker läuft in einer schleife :?
Vielleicht habe ich es auch übersehen??
Hoffe ihr versteht was ich meine!!
Mfg
Sven
-
Moin,
So habe ihr was gefunden im Forum was ich für umgebaut habe.
Ich glaube es kam von Blufox(Danke).
createState('javascript.0.Backup', false, {name: 'Skript bei VIS Tastendruck starten'}); on('javascript.0.Backup', function (obj) { if (!obj.state.ack && obj.state.val) { exec("cmd.exe /c start D:backup.bat", function(err, stdout, stderr) { if (err) log(stderr,'error'); }); } });
So funktioniert es wie ich es will :geek: Geilomat
Man versteht immer mehr!!
Mfg
Sven
-
Von mir auch vielen Dank, hab es jetzt auch eingebaut. Kann ich mir auch den cronjob sparen :
createState('javascript.0.System.Backup', false, {name: 'Backup Skript bei VIS Tastendruck starten'}); createState('javascript.0.System.Update', false, {name: 'Update Skript bei VIS Tastendruck starten'}); setState('javascript.0.System.Backup', false); setState('javascript.0.System.Update', false); on ({ id: "javascript.0.System.Update", change: 'ne', val: true }, function(){ log ("--> Update gestartet!"); exec('/opt/update.sh', function(err, stdout, stderr) { if (err) { log(stderr,'error'); return; } }); }); on ({ id: "javascript.0.System.Backup", change: 'ne', val: true }, function(){ log ("--> Backup gestartet!"); exec('/opt/backup.sh', function(err, stdout, stderr) { if (err) { log(stderr,'error'); return; } }); });
Grüße
Brati
-
Hallo zusammen,
welches Widget ist hierfür am besten geeignet?
Finde leider nicht das passende, welches den Wert wieder auf false automatisch zurück setzt.
Über einen Tip äwre ich sehr dankbar
mfg
-
Nabend, mach das doch einfach am Ende vom Script. Grüße Brati
von unterwegs gesendet.
-
Nabend, mach das doch einfach am Ende vom Script. Grüße Brati `
Danke für den Tipp… bin ich als Anfänger nicht drauf gekommen
hab es jetzt wie folgt gelöst:
setState('javascript.0.RaspiReboot', false);
und siehe da schon klappt es
Danke