NEWS
per Script eine Datei kopieren auf Synology
-
Hallo,
ich bekomme dies einfach nicht hin (iob auf win7 rechner).probiert habe ich
copy (aber dieser geht glaube ich schon seit >2.0 nicht mehr)
writefile
writefilesynckopieren auf C:\ (irgendwo hin) klappt einwandfrei.
Dazu benutze ich nun folgendes Script:function Datei_kopieren(von, nach) { // Pfad immer mit / darstellen // als "von" und "nach" den genauen Pfad angeben, z.B. "C:/ioBroker/iobroker-data/files/vis.0/Daten/test.txt" // gesamter Befehl somit: Datei_kopieren("C:/ioBroker/iobroker-data/files/vis.0/Daten/test.txt","c:/iobroker/1_Sound/test.txt"); // Kopie auf c:/ klappt; nicht aber auf Netzlaufwerk var fs = require('fs'); const datei= fs.readFileSync(von); setTimeout(function(){ fs.writeFileSync(nach, datei); }, 500); }
was will ich:
Eine Datei kopieren auf Synology Laufwerk
(dieses ist auch als Laufwerk z:\ eingebunden auf dem win7 rechner).mfg
-
@bahnuhr Vermutlich hast Du den Fixer laufen lassen und dann läuft iobroker nicht mehr unter root und Du hast keine Zugriffsrechte auf das Ziel oder das Target.
Man kann die sudoers Datei ändern und dem user 'iobroker' zusätzliche Kommandos erlauben..Aber Vorsicht! Man sollte da vorher unbedingt seinen SSH Zugang für root wieder freischalten, weil Syntax Fehler in der sudoers Datei sonst fatale Folgen haben können.
Ich habe das mal versucht und musste mein Linux neu aufsetzen.
Bei Experimenten befehle ich hier zusätzlich ein Image vom Laufwerk zu retten. -
@Marty56 sagte in per Script eine Datei kopieren auf Synology:
@bahnuhr Vermutlich hast Du den Fixer laufen lassen und dann läuft iobroker nicht mehr unter root und Du hast keine Zugriffsrechte auf das Ziel oder das Target.
Man kann die sudoers Datei ändern und dem user 'iobroker' zusätzliche Kommandos erlauben..Aber Vorsicht! Man sollte da vorher unbedingt seinen SSH Zugang für root wieder freischalten, weil Syntax Fehler in der sudoers Datei sonst fatale Folgen haben können.
Ich habe das mal versucht und musste mein Linux neu aufsetzen.
Bei Experimenten befehle ich hier zusätzlich ein Image vom Laufwerk zu retten.wie oben erwähnt hab ich win7.
Und da gibt es keinen fixer !
-
Ich habe iobrocker im Docker auf der Synology ..... deshalb kann ich es nur so bei mir testen .
Er holt sich aus dem Ordner tmp die Datei und schiebt sie per FTP auf die Synology ,
Es wird dazu der Befehl wput genutzt .Vielleicht kannst du mein Testscript gebrauchen / verwenden .
// by Glasfaser 22.02.2020 const datei="/tmp/carport1.jpg"; // Quelldatei const Server="ftp://user:passwort@192.168.178.11/web/" // Zieldatei Synology function Datei_kopieren() { setTimeout(function(){ exec ("wput "+datei+" "+Server+" "); }, 1000); } Datei_kopieren();
-
Danke für die Info.
Aber irgendwie klappt das nicht.
Habe in der Instanz exec angeklickt.
Und in der synology ftp aktiviert und mir die Rechte gegeben.
Datei wird aber nicht kopiert.habe auch das Protokoll in der syn.. aktiviert; dort kommt aber auch nichts.
Komisch irgendwie.mfg
-
Du kannst den Befehl auch in der Konsole absetzen um zu sehen was passiert .
wput /tmp/carport1.jpg ftp://user:passwort@192.168.178.11/web/
dann kommt diese Meldung und die Datei wird auch kopiert.
-
Danke für deine Hilfe.
Habs in cmd probiert.
wput wird nicht gefunden.
Also hab ich versucht wput zu installieren, mit:npm install wput
sudo apt-get install wputKlappt irgendwie nicht.
Ich glaube dies übersteigt meine Fähigkeiten.
Wenn du noch einen tipp hast, dann kurze Rückinfo.
Danke im Voraus.
-
Habe per npm install folgendes installiert (stand hier irgendwo)
jsftp
fsHat aber nichts geholfen.
Trotzdem Fehlermeldung bei dem wput Befehl:
-
-
@Glasfaser sagte in per Script eine Datei kopieren auf Synology:
Ich habe erst auch im Synology Docker Terminal das machen müssen , damit ich wput installieren kann .
apt-get update
und dann
apt-get install wput
Ich denke mal bei Win ist es dann so ... Link Text
Nochmals Danke für deine Hilfe.
Ich bekomme es aber nicht hin.- wput über deinen link geholt
- Verbindung wird aufgebaut
- Ziel ordner wird aber nicht gefunden
Fazit:
Warum gibt es keinen einfachen Befehl in iob, dass man eine Datei kopieren kann?
Warum geht fscopy nicht?
Warum geht writefile nur im definierten Verzeichnissen ?
Warum geht writefilesync nicht bei Netzlaufwerken im Heimnetz?Irgendwie ist das ganze für mich (als ambitionierte Anwender) nicht so ersichtlich?
Was wäre mein Ziel:
per script in iob einen einfachen Befehl um eine Datei innerhalb des Heimnetzwerkes zu kopierenmfg
Dieter -
Nimm mal diesen Befehl und führe in in der CMD Konsole aus
... habe ja auch rein zufällig auch ein Z Netzwerklaufwerk , bei mir kopiert er es auf der Synology !XCOPY /s/e C:/ioBroker/iobroker-data/files/vis.0/Daten/test.txt Z:\backup_zielordner\
-
@Glasfaser sagte in per Script eine Datei kopieren auf Synology:
Nimm mal diesen Befehl und führe in in der CMD Konsole aus
... habe ja auch rein zufällig auch ein Z Netzwerklaufwerk , bei mir kopiert er es auf der Synology !XCOPY /s/e C:/ioBroker/iobroker-data/files/vis.0/Daten/test.txt Z:\backup_zielordner\
oh mann, oh mann
Anbei meine Versuche, zum Schluss kam "Zugriff verweigert"
-
So sieht es aus :
Habe kein iobrocker Verzeichniss , deshalb habe ich ein Testverzeichniss gewählt.
Das sieht so aus als würden Rechte bei dir fehlen !?
-
Dann habe ich dem Ornder Vollzugriff gegeben.
Klappt aber trotzdem nicht.
Weiterhin Zugriff verweigert.
-
nimm mal nur den Code ohne was zu verändern ... und dann !!!
-
@Glasfaser sagte in per Script eine Datei kopieren auf Synology:
nimm mal nur den Code ohne was zu verändern ... und dann !!!
wenn ich die " weglasse kommt folgendes:
-
@bahnuhr sagte in per Script eine Datei kopieren auf Synology:
@Glasfaser sagte in per Script eine Datei kopieren auf Synology:
nimm mal nur den Code ohne was zu verändern ... und dann !!!
wenn ich die " weglasse kommt folgendes:
kann das mit win7 oder win10 zusammenhängen?
Ich habe win7 auf dem iob läuft. -
Du änderst den Code ...!!
Nochmal nimm diesen code ohne etwas zu verändern ...
Du hast doch auch eine test.txt im Ordner" files/vis.0/Daten/" liegen !?XCOPY /s/e C:/ioBroker/iobroker-data/files/vis.0/Daten/test.txt Z:\backup_zielordner\
-
@Glasfaser sagte in per Script eine Datei kopieren auf Synology:
Du änderst den Code ...!!
Nochmal nimm diesen code ohne etwas zu verändern ...
Du hast doch auch eine test.txt im Ordner" files/vis.0/Daten/" liegen !?XCOPY /s/e C:/ioBroker/iobroker-data/files/vis.0/Daten/test.txt Z:\backup_zielordner\
So, bei mir funktioniert der code mit / nicht. Habs geändert auf
und zwar so:
Dann klappts auch.
-
Gut soweit.
Wie kann man nun diesen code einbinden in iob script.
Geht das ?