Seite 1 von 2
Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 17:37
von Ricki
wie der Titel schon sagt, suche ich ein Script um alte Ordner mit Inhalt zu Löschen auf meiner Synology zu löschen.
Ich habe mich schon wund gegoogelt um etwas zu finden was funktioniert, aber ohne Erfolg.
Zur Zeit habe ich folgendes Script laufen:
find /volume1/Amaryllo/iSSa0bs1k -mtime +1 -exec rm {} \;
Es sollen alle Unterordner unter /iSSa0bs1k mit Inhalt älter als 1 Tag gelöscht werden. Tut er aber nicht.
Die Unterordner sind wie folgt:
2017-10-04
2017-10-05
2017-10-06
usw.
Inhalte sind über 24 Stunden aufgenommene, ca. 5 Minuten lange, avi Dateien einer Überwachungskamera.
Kann mir jemand dabei helfen, ein korrektes Script zu erstellen was auch läuft? Leider habe ich von Linux / Script Sprache so gar keine Ahnung
und alles was ich gemacht habe war Trial and Error, wobei Error überwiegt.
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 17:52
von FireBird
Welcher Error kommt bei dem oben angegebenen Beispiel? Wenn Du das -exec weglässt, bekommst Du die Treffer auf der Konsole angezeigt.
Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 18:01
von Ricki
Bei dem von mir genutzten Script, bekomme ich per Mail ein 0 Fehler Meldung, aber er tut nichts.
Ich habe Dein Vorschlag befolgt und es kommt folgende Meldung:
Standardausgabe/Fehler:
find: paths must precede expression: rm
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
Gesendet von iPad mit Tapatalk
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 18:05
von FireBird
Vielleicht habe ich mich falsch ausgedrückt: alles ab -exec weglassen, also nur
find /volume1/Amaryllo/iSSa0bs1k -mtime +1
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 18:08
von Ricki
Ok, das hatte ich vor einigen Stunden getestet und bekomme 0 Fehler , und er tut nichts.
Gesendet von iPad mit Tapatalk
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 18:10
von FireBird
Und bekommst Du ohne "-mtime +1" eine Liste aller Dateien und Verzeichnisse?
Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 18:12
von Ricki
Ja [emoji39]
P.S: ich muss nun bis ca. 19:45 offline gehen [emoji124] dann können wir weiter machen falls Du noch Lust hast
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 19:20
von FireBird
Sorry, musste kurz Nachtmahl essen.
Auf dem Topf hat der mtime-Parameter etwas getan, aber dort ist es schwer zu testen, da die Linux-Uhr mit jedem Reboot bei 0 beginnt.
Wenn Du ein
ls -tl /volume1/Amaryllo/iSSa0bs1k
eingibst (das zweite ist ein kleines L), werden die Modification-Time von Verzeichnissen und Dateien ausgegeben. Ergibt das eine sinnvolle Ausgabe?
/Edit: jetzt erst das Edit gelesen. Da hätte ich ja noch viel mehr essen können.
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 19:50
von Ricki
FireBird hat geschrieben:Sorry, musste kurz Nachtmahl essen.
Auf dem Topf hat der mtime-Parameter etwas getan, aber dort ist es schwer zu testen, da die Linux-Uhr mit jedem Reboot bei 0 beginnt.
Wenn Du ein
ls -tl /volume1/Amaryllo/iSSa0bs1k
eingibst (das zweite ist ein kleines L), werden die Modification-Time von Verzeichnissen und Dateien ausgegeben. Ergibt das eine sinnvolle Ausgabe?
/Edit: jetzt erst das Edit gelesen. Da hätte ich ja noch viel mehr essen können.
Das kommt dabei raus. Ich nutze aber nicht den Topf garnicht dazu sondern führe das Script auf dem NAS aus.
total 129724
d---------+ 2 root users 12288 Oct 16 19:36 2017-10-16
d---------+ 3 root users 12288 Oct 16 17:24 2017-10-14
drwxrwxrwx+ 2 root users 4096 Oct 16 17:24 @eaDir
d---------+ 2 root users 12288 Oct 16 00:00 2017-10-15
-rwx------+ 1 admin users 132772280 Oct 14 17:36 REC_2017-10-14_17-24-01_iSSa0bs1k.avi
wobei die letzte Zeile sich auf eine Datei bezieht die ich dahin dahin kopiert haben um zu schauen ob eine ebene höher vielleicht gelöscht wird.
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 19:58
von FireBird
Also die Verzeichnisse haben alle eine mtime von heute. Das rm würde aber sowieso nur die Dateien in den Verzeichnissen löschen. War die AVI beim Test mit -mtime 1 schon in dem Verzeichnis? Die sollte auf jeden Fall in der Liste auftauchen.
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 19:58
von Ricki
es sieht so aus als ob die Ordner heute "geändert" wurden
Wahrscheinlich liegt es daran.
Kann man vielleicht das so hinbekommen, dass er die Ordner samt Inhalt löscht die ein Datum haben das älter ist als x ? Die Ordner heißen ja 2017-10-14 usw.
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:02
von Ricki
FireBird hat geschrieben:War die AVI beim Test mit -mtime 1 schon in dem Verzeichnis? Die sollte auf jeden Fall in der Liste auftauchen.
ja war da
und ja ist aufgetaucht.
und hier die Ausgabe mit:
find /volume1/Amaryllo/iSSa0bs1k -mtime +1
Code: Alles auswählen
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_19-48-01_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_17-36-00_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_18-00-00_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_18-48-01_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_19-12-00_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_19-24-01_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_17-24-01_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_18-12-01_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_17-48-00_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_18-23-59_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_18-36-01_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_19-00-00_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/2017-10-14/REC_2017-10-14_19-35-59_iSSa0bs1k.avi
/volume1/Amaryllo/iSSa0bs1k/REC_2017-10-14_17-24-01_iSSa0bs1k.avi
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:08
von FireBird
Ok, das bedeutet, dass mtime auch funktioniert, aber bei den Verzeichnissen nicht brauchbar ist, weil sich innerhalb der Verzeichnisse was ändert. Dein Script müssen wir sowieso anders anlegen, da rm nur Dateien, aber keine Verzeichnisse löscht. Probiere bitte einmal den folgenden find-Befehl:
find /volume1/Amaryllo/iSSa0bs1k -type d -maxdepth 1 -ctime +1
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:14
von Ricki
da tut sich leider nichts
Es kommt auch keine Fehlermeldung.
Sehr geehrter Benutzer,
Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.
Aufgabe: Delete Amaryllo Video Files
Startzeit: Mon, 16 Oct 2017 20:12:31 GMT
Stoppzeit: Mon, 16 Oct 2017 20:12:31 GMT
Aktueller Status: 0
Standardausgabe/Fehler:
Mit freundlichen Grüßen
Synology DiskStation
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:21
von FireBird
Moment, sollte der Zeitwert nicht ein Minus haben, für ältere Dateien? Also nicht +1, sondern -1?
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:26
von Ricki
ich habe es mit -1 probiert.
Es wurde nichts gelöscht
und es kommt folgende Ausgabe!
Sehr geehrter Benutzer,
Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.
Aufgabe: Delete Amaryllo Video Files
Startzeit: Mon, 16 Oct 2017 20:23:53 GMT
Stoppzeit: Mon, 16 Oct 2017 20:23:53 GMT
Aktueller Status: 0
Standardausgabe/Fehler:
/volume1/Amaryllo/iSSa0bs1k
/volume1/Amaryllo/iSSa0bs1k/2017-10-15
/volume1/Amaryllo/iSSa0bs1k/2017-10-16
/volume1/Amaryllo/iSSa0bs1k/@eaDir
/volume1/Amaryllo/iSSa0bs1k/2017-10-14
Ich habe ein weiteres Script welches die leeren Ordner löscht und das hat heute Mittag funktioniert, vielleicht kannst Du damit was anfangen?
find /volume/Amaryllo/iSSa0bs1k/. -depth -type d -exec rmdir {} \; 2>/dev/null
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:33
von FireBird
Das Löschen ist nicht das Problem, da kann ich Dir sofort einen Befehl sagen, der Dein ganzes NAS löscht.
Dein letztes Beispiel löscht immer alle Verzeichnisse, die leer sind.
Unser Problem ist das Suchen nach einem brauchbaren Zeitfilter. Ich schaue, ob ich das irgendwie bei mir nachstellen kann.
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:35
von Ricki
FireBird hat geschrieben:Das Löschen ist nicht das Problem, da kann ich Dir sofort einen Befehl sagen, der Dein ganzes NAS löscht.
Dein letztes Beispiel löscht immer alle Verzeichnisse, die leer sind.
Unser Problem ist das Suchen nach einem brauchbaren Zeitfilter. Ich schaue, ob ich das irgendwie bei mir nachstellen kann.
Danke für Deine Mühe.
Ich bin jetzt wieder für ca. 2 Std Offline. Ansonsten können wir morgen weiter machen.
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 20:36
von FireBird
Einen schnellen habe ich noch. Der filtert nicht nach Tage, sondern hier auf 120 Minuten.
find /volume1/Amaryllo/iSSa0bs1k -type d -maxdepth 1 -cmin +120
AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen
Verfasst: Mo 16. Okt 2017, 22:30
von Ricki
das kommt dann raus:
Code: Alles auswählen
Sehr geehrter Benutzer,
Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.
Aufgabe: Delete Amaryllo Video Files
Startzeit: Mon, 16 Oct 2017 22:28:40 GMT
Stoppzeit: Mon, 16 Oct 2017 22:28:40 GMT
Aktueller Status: 0
Standardausgabe/Fehler:
/volume1/Amaryllo/iSSa0bs1k/2017-10-15
/volume1/Amaryllo/iSSa0bs1k/@eaDir
/volume1/Amaryllo/iSSa0bs1k/2017-10-14
Mit freundlichen Grüßen
Synology DiskStation