NEWS
Codeschnipsel - Datei löschen auf Synology
-
Guten Morgen,
habt ihr mal einen Codeschnipsel für mich um eine Datei auf der Synology zu löschen.
Probiert habe ich schon:
unlink('ftp://dieter:abcde@192.168.xxx.x/Sicherung/', '123.txt',(e)=>{ if(e) log(e) })
oder auch:
var fs = require('fs'); fs.unlink('//SYNOLOGY/Sicherung/123.txt', function (err) { if (err) throw err; log('Datei wurde gelöscht.'); });
Und davon auch die verschiedensten Optionen.
Fazit:
Die Datei wird nicht gelöscht.
Im Log kommt z.B.:Error: ENOENT: no such file or directory, unlink '//SYNOLOGY/Sicherung/123.txt'
Danke im Voraus.
mfg
Dieter -
-
Und wie machst du das ganze per Script?
-
mit Shell Script
#!/usr/bin/expect -f mount -t cifs -o username=Benutzername,password=geheim //192.168.xxx.xxx/Cam /mnt/cam find /mnt/cam/* -mtime +19 -type d -exec rm -rf {} \; sleep 10s umount /mnt/cam
-
Das wäre evtl. auch ne Lösung.
Ich suche aber ein Script was ich per iob ändern und ausführen kann.
-
-
wie ist den das directory eingebunden ? ist es gemountet ? oder willst du über ftp darauf zugreifen ?
so wie es aussieht, ist da noch dein herz bei windowsdas ist über einen mount: da braucht man kein "//" - ist ja linux
sondern nur eines "/SYNOLOGY/Sicherung/123.txt" - aber es muss gemountet sein - ich nehme an, dass "//SYNOLOGY/Sicherung/123.txt" ein windows rechner ist, der in deinem netzwerk zu sehen ist
var fs = require('fs'); fs.unlink('//SYNOLOGY/Sicherung/123.txt', function (err) { if (err) throw err; log('Datei wurde gelöscht.'); });
damit du über fs. zugreifen kannst, musst du zuerst sowas ausführen - evtl über exec() und anschliessend einen umount
mount -t cifs -o username=Benutzername,password=geheim //192.168.xxx.xxx/Cam /mnt/cam
willst du über ftp löschen, muss du wohl sowas machen https://www.npmjs.com/package/basic-ftp?activeTab=readme
-
Installation:
iob läuft in vm in proxmox auf einem extra nuc rechner
Daneben habe ich eine synology mit laufwerke..
Auf diese greif ich zu.Und nun möchte ich Dateien/Verzeichnisse auf den FP der Synology löschen.
Und das ganze per script.ftp soll mir recht sein.
Hatte ich ja oben auch probiert. -
habe mit fritzbox getestet
du musst das im setting (als zusatznode) des javascriptadapters hinzufügen: basic-ftp
das directory muss natürlich über ftp erreichbar sein (auf synology)im bild siehst du winscp - unten - mit dem file
das script
-
Danke für deine Hilfe.
Ich probier das nachher noch aus.
Melde mich dann. -
Rückinfo von mir.
- Testversuch hat geklappt.
Muss man schauen, was man damit alles machen kann.
Danke dir.
mfg
Dieter - Testversuch hat geklappt.
-
@alle
Müsste dies nicht auch mit einem einfachen "exec" Befehl funktionieren.
Zum kopieren benutze ich z.B.
var Server = "ftp://dieter:xxx@192.168.xxx.x/Sicherung/Sicherung' 'ioBroker/Scripte/" + Jahr + "_" + Monat + "_" + Tag + "/"; exec('wput -q --basename=/opt/iobroker/Scripte/ /opt/iobroker/Scripte/global ' + Server, function (error, result, stderr) { if (error) { console.log(error + " " + result); } });
Müsste dies nicht auch mit einem "del" oder "rm" funktionieren ?
Also Dateien löschen per exec.
Geht sowas ? -
bei mir funktioniert das auf der console:
curl -v -u user:passwort ftp://192.168.178.1/test/filmstatus.txt -Q '-DELE filmstatus.txt'