Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

Hier geht´s um TV, Zubehör wie Soundanlagen, Sat- , Übertragungs- bzw. Kabeltechnik und um alles,
was irgendwie zum Thema Technik passt.
Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28527
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#21

Beitrag von FireBird » Mo 16. Okt 2017, 22:42

Na dann sind wir ja schon dort, wo wir hinwollen. Das müsste dann der komplette Befehl sein.

find /volume1/Amaryllo/iSSa0bs1k -type d -name "20*" -maxdepth 1 -cmin +120 -exec rm -r {} \;

Was machen die Optionen:

-type d ... Nur Verzeichnisse prüfen, keine Dateien
-name "20*" ... Nur Verzeichnisse prüfen, deren Namen mit "20" beginnen. Dann wird nicht auch das @eadir-Verzeichnis gelöscht.
-maxdepth 1 ... Nur die erste Ebene durchsuchen, also das angegebene Rootverzeichnis
-cmin +120 ... Nur Verzeichnisse ausgeben, deren Status vor mehr als 120 Minuten geändert wurden. Die Zahl wirst Du noch anpassen müssen.
-exec ... Die Treffer nicht an die Konsole senden, sondern einen Befehl ausführen
rm -r ... Dateien und Verzeichnisse rekursiv löschen
{} ... Wird von find bei jedem Treffer durch den Verzeichnisnamen ersetzt
\; ... Beendet den exec-Befehl

Zum Testen kannst Du ja alles ab -exec noch weglassen, dann siehst Du, ob nur die gewünschten Verzeichnisse gelöscht werden würden.

Benutzeravatar
Ricki
ToppiHolic
ToppiHolic
Beiträge: 5339
Registriert: Fr 9. Dez 2005, 23:06
Receivertyp: 2xSky Q
MagentaTV MR601
2xUltimo4K 1 DVB-S2x FBC
Receiverfirmware: Alle aktuell
Wohnort: Wetter/Hessen
Kontaktdaten:

AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#22

Beitrag von Ricki » Di 17. Okt 2017, 09:14

Super, das klappt :hello: .
Wenn ich jetzt die Zeit auf 3 Tage ändern möchte dann statt +120 also +2160? oder gibt es ein Tage Befehl?
cu
Ricki


smartEPGvu+ Wiki - Deutsch

smartEPGvu+ Wiki - English

SAT Anlage - Kathrein: CAS 75 mit UAS 584 LNB & EXR 1512 (Multischalter 5 auf 12), Astra 19.2°E

VU+ ULTIMO 4K DVB-S2x FBC+Samsung SSD870 QVO , 2 TB
VU+ ULTIMO 4K DVB-S2x FBC+Kingston SSDSUV400S, 480 GB
Skin: Vu_HD_1080P mit angepassten Skinparts - VTi 15.0.01
Plugins: smartEPGvu+ , Multi QuickButton, OpenWebif, AutocutVfd, GithubPluginUpdater, InfoBarTunerState, VTi Panel

Panasonic TX-55GZW1509; Sony UBP-X700, Apple TV 4K, Fire TV 4K, Harmony Elite, Denon AVR-X2300W, Synology 716+ (6TB)

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28527
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#23

Beitrag von FireBird » Di 17. Okt 2017, 09:27

Der in ctime verwendete Parameter ist in Tagen. So weit ich das verstanden habe, arbeitet ctime nur mit ganzen Zahlen, was bedeutet, dass beispielsweise bei +1 erst nach 2 Tagen gelöscht.

Benutzeravatar
Ricki
ToppiHolic
ToppiHolic
Beiträge: 5339
Registriert: Fr 9. Dez 2005, 23:06
Receivertyp: 2xSky Q
MagentaTV MR601
2xUltimo4K 1 DVB-S2x FBC
Receiverfirmware: Alle aktuell
Wohnort: Wetter/Hessen
Kontaktdaten:

AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#24

Beitrag von Ricki » Di 17. Okt 2017, 09:49

OK, werde ich testen.
Ich vermute dass zu Anfang der Versuche durch den Zugriff über den Mac auf die Ordner der NAS, das Datum sich geändert hat und daher mtime +1 nichts zu tun hatte.
Ich nutze nun Dein Script und alles ist gut. Ich habe ctime +10 statt cmin +120 eingesetzt.
Herzlichen Dank für Deine Mühe und Hilfe. :d rinking: :thanks:
cu
Ricki


smartEPGvu+ Wiki - Deutsch

smartEPGvu+ Wiki - English

SAT Anlage - Kathrein: CAS 75 mit UAS 584 LNB & EXR 1512 (Multischalter 5 auf 12), Astra 19.2°E

VU+ ULTIMO 4K DVB-S2x FBC+Samsung SSD870 QVO , 2 TB
VU+ ULTIMO 4K DVB-S2x FBC+Kingston SSDSUV400S, 480 GB
Skin: Vu_HD_1080P mit angepassten Skinparts - VTi 15.0.01
Plugins: smartEPGvu+ , Multi QuickButton, OpenWebif, AutocutVfd, GithubPluginUpdater, InfoBarTunerState, VTi Panel

Panasonic TX-55GZW1509; Sony UBP-X700, Apple TV 4K, Fire TV 4K, Harmony Elite, Denon AVR-X2300W, Synology 716+ (6TB)

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28527
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#25

Beitrag von FireBird » Di 17. Okt 2017, 09:56

Gern geschehen. :)

pflaf
Neuling
Neuling
Beiträge: 3
Registriert: So 22. Jan 2023, 01:37

Re: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#26

Beitrag von pflaf » So 22. Jan 2023, 01:53

Hallo zusammen,

ich versuche Mal diesen alten Thread wiederzubeleben, vielleicht sind die Accounts hier ja noch aktiv:
Ich habe keine Ahnung von bash (etwas Python und C++ Kenntnisse, ich habe aber nicht das Gefühl dass das was hilft) und habe ein ähnliches Vorhaben wie Ricki. Ich möchte in einem Ordner in dem ich Backups ablege automatisiert alle Unterordner außer dem Neuesten löschen. Der Befehl ist bisher ähnlich, nur so werden aktuell noch alle Ordner gelöscht.

find /volume1/homes/pflaf/Backups/Hauptkatalog_2 -type d -maxdepth 1 -name "20*" -exec rm -r {} \;

Wenn ich das richtig sehe handelt es sich bei {} um eine Liste, die mir rm durchiteriert wird. Falls das der Fall ist, könnte man das vermutlich durch slicing lösen (die Unterordner sind nach YYYY-MM-DD HH.MM.SS benannt, sind also schon in der richtigen Reihenfolge). Wie kann ich da sinnvoll vorgehen? Alternativ könnte man eventuell mit 'find -cnewer' und einer if bedingung (so in die Richtung "rm if -cnewer !=0" nur, dass das in bash vermutlich anders aussieht) arbeiten, das scheint mir aber komplizierter zu sein, weil ich dann den Pfad zum neuesten angeben muss.

LG pflaf

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28527
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

Re: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#27

Beitrag von FireBird » So 22. Jan 2023, 14:33

find -exec bewirkt, dass der Befehl dahinter pro Treffer ausgeführt wird. {} ist dabei nur ein Platzhalter für den Treffer und enthält keine Liste. Die Frage ist, ob die Zeitstempel brauchbar sind, so dass man find -mtime <Tage> oder find –mmin <Minuten> verwenden kann.

Willkommen an Board. :)

pflaf
Neuling
Neuling
Beiträge: 3
Registriert: So 22. Jan 2023, 01:37

Re: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#28

Beitrag von pflaf » So 22. Jan 2023, 15:10

Oh super, da hab ich Glück gehabt, danke für deine Antwort!

Ich verstehe, schade, das wäre eine schöne Lösung gewesen. Gibt es eine Möglichkeit auf die gefundenen Pfade zuzugreifen und dann iterativ die einzelnen Verzeichnisse zu löschen?

Die Zeitstempel sind leider nicht brauchbar, weil die Backups manuell und nur bei Bedarf durchgeführt werden. Wenn ich das Programm nicht nutze, werden keine Backups erstellt und ich laufe Gefahr, dass das NAS das aktuelle Backup löscht.

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28527
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

Re: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#29

Beitrag von FireBird » So 22. Jan 2023, 16:05

Vielleicht klappt die Geschichte?

Code: Alles auswählen

ls -1r 20* | tail -n +2 
ls gibt die Liste aller Verzeichnisse aus, sortiert sie aber umgekehrt, wodurch das jüngste Verzeichnis ganz oben stehen sollte. tail gibt die letzten 10 Zeilen aus. Mit der Option „-n +2“ gibt man vor, dass tail mit der zweiten Zeile beginnen soll.

Wenn das klappt muss man die Ausgabe noch in eine Löschschleife weiterleiten.

Code: Alles auswählen

 | while read i ; do echo "deleting $i" ; rm -r  "$i" ; done
Hoffentlich ist danach nicht Deine Platte done. :und_weg:

pflaf
Neuling
Neuling
Beiträge: 3
Registriert: So 22. Jan 2023, 01:37

Re: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#30

Beitrag von pflaf » Di 24. Jan 2023, 11:53

ich habs so zusammengebastelt, ich bin mir nicht ganz sicher ob das so gedacht war:

Code: Alles auswählen

find /volume1/homes/pflaf/Backups/Hauptkatalog_2  ls -1r 20* | tail -n +2
bekomme aber die Fehlermeldung

find: unknown predicate `-1r'

wenn ich '-1r' rausnehme, bekomme ich in der Ausgabe

find: `ls': No such file or directory
find: `20*': No such file or directory
/volume1/homes/pflaf/Backups/Hauptkatalog_2/1
/volume1/homes/pflaf/Backups/Hauptkatalog_2/3
/volume1/homes/pflaf/Backups/Hauptkatalog_2/4
/volume1/homes/pflaf/Backups/Hauptkatalog_2/5
/volume1/homes/pflaf/Backups/Hauptkatalog_2/6
/volume1/homes/pflaf/Backups/Hauptkatalog_2/7
/volume1/homes/pflaf/Backups/Hauptkatalog_2/8
/volume1/homes/pflaf/Backups/Hauptkatalog_2/9
/volume1/homes/pflaf/Backups/Hauptkatalog_2/10
/volume1/homes/pflaf/Backups/Hauptkatalog_2/2
/volume1/homes/pflaf/Backups/Hauptkatalog_2/2012
/volume1/homes/pflaf/Backups/Hauptkatalog_2/2019


ich habe in dem Verzeichnis ein paar Testordner angelegt, tatsächlich sind sie nicht "alphabetisch" sondern nach Erstellungszeit sortiert, der neueste ist ganz unten.
Das führt ja schon in die richtige Richtung.
Hoffentlich ist danach nicht Deine Platte done. :und_weg:
:cry:

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28527
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

Re: Synology: Suche Script um alte Ordner mit Inhalt zu Löschen

#31

Beitrag von FireBird » Di 24. Jan 2023, 12:03

Mein Lösungsansatz war ohne find, Du musst vorher im richtigen Verzeichnis stehen.

Antworten

Zurück zu „Technikforum“