Dateien nach Uhrzeit löschen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Einie

Benutzer
Registriert
04. Juli 2023
Beiträge
5
Reaktionspunkte
0
Punkte
1
Moin zusammen.
Durch den Amoklauf eines Synctools habe ich die Herausforderung Dateien nach Uhrzeit zu löschen.
Die timestamps sind mir ja klar, aber welche Möglichkeiten habe ich in der Filestation nach Uhrzeit hin zu sortieren / zu löschen.
Gibt es 3rdParty Apps, die das erledigen?

Gruß

Einie
 
Zuletzt bearbeitet:
Ich tendiere in solchen Fällen immer wieder gern zur Kommandozeile.
 
  • Like
Reaktionen: peterhoffmann
Die Filestation kann das 'aus dem Bauch' heraus:
1688459283232.png

Such Dir das Datum aus, welches Du erfassen möchtest. Anschliessend nach der Spalte 'Datum' sortieren.
Danach kannst Du mehrere Elemente selektieren und ggfs. löschen.
Das wäre mal ein Anfang.
Die Anmerkung von @luddi zielt darauf ab, mittels Konsolenbefehl rekursiv zu arbeiten.
Das musst Du halt selber entscheiden, ob das was für Dich ist.
 
Ja genau, rekursiv und vor allem man sollte dabei wirklich gut aufpassen welchen Befehl man auf der Konsole absetzet wenn es ums Löschen von Dateien geht.
Dann lieber vorsichtig über die File Station manuell sortieren und löschen.
 
Vielen Dank für die Informationen bisher, mein Ziel ist es aber nach Uhrzeit zu sortieren und zu löschen. Das Datum ist dabei egal. Es geht ausschliesslich um die Uhrzeit für ca. 20.000 Dateien.
 
Interessante Problemstellung... hatte ich bisher so nicht gesehen.

Kurzum: Bei den betreffenden Dateien variiert das Datum, die Uhrzeit ist aber immer gleich. Korrekt?

Auf der Konsole kann man mit
Code:
find
nach dem Dateialter suchen. Das bindet bei der Suche das Datum aber mit ein, sprich nicht zielführend.

Ich habe eine Möglichkeit gefunden die Dateinamen zu extrahieren, leider ohne Pfad.
Bash:
ls -laR /DEIN/VERZEICHNIS | grep "20:00"
 
Zuletzt bearbeitet:
Nachtrag:
Einen Weg mit Umweg habe ich gefunden.
Bash:
ls -laRi /DEIN/VERZEICHNIS | grep "20:00" | awk '{print $1}'
So bekommt man die Inode-Nummer jeder betreffenden Datei.

Mit
Bash:
find -inum {Inode-NUMMER}
kann man die Datei (mit Pfad!) lokalisieren.

Nun noch
Bash:
rm
mit diesen Informationen nutzen und die Dateien löschen.

Ein kleines Skript wird bei 20.000 Dateien nötig sein. Und es wird etwas dauern, da der find-Befehl mit der Suche nach der Datei gut beschäftigt ist (je nach Verzeichnistiefe).

WICHTIG! => Alles Theorie! Vielleicht falsch! Nie selbst gemacht! Ohne Gewähr! Definitiv gefährlich! Niemals ohne Backup!
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Ulfhednir
Hi

Hab damals auch lange gesucht - es geht über das "Find" Command:
Dort kannst dann Löschzeit und Ordnertiefen definieren.
Da bitte einlesen was du genau machen willst - weil sonst ist ganz schnell das Falsche weg

zb:
-------------------
find /volume1/"Outlook Backup/DESKTOP-BLNHDJB" -mindepth 1 -mtime +1
find /volume1/"Outlook Backup/DESKTOP-BLNHDJB" -mindepth 1 -mtime +1 -delete


#find /volume1/"Outlook Backup/DESKTOP-BLNHDJB" -mindepth 1 -type d -exec rmdir {} \; 2>/dev/null
#find /volume1/"Outlook Backup/DESKTOP-BLNHDJB" -type d -empty -mmin +60 -exec rm -rv {} \;

-exec rmdir {} \; - löscht alle leeren Verezeichnisse egal wie alt oder neu
>/dev/null - schickt alle Fehlermeldungen ins Leere

find sucht die Dateien
mindepth -1 gibt an dass nur bis zum Stammordner gelöscht wird und dieser bestehen bleibt
---------------------

https://community.synology.com/enu/forum/1/post/133494

https://community.synology.com/enu/forum/17/post/51976
 
Ja,. es ist noch ein wenig schlimmer. Ich muss nach einem Breich zwischen 22 und 06:00 lölschen......
 
Ah - was ist wenn du den Ordner über SMB auf Windows einbindest und dann per zb Totalcommander oder einem adneren guten Dateiexplorer suchst und löscht?
 
In nachfolgender Zeile werden alle Dateien zwischen 22:00 Uhr und 06:00 Uhr (Änderungsdatum) gelöscht.
Um es ersteinmal zu testen, kann man das abschließende | xargs rm entfernen, um die Ergebnisse zu prüfen:
Bash:
find "/volume1/dein/Pfad" -type f -printf "%TY-%Tm-%Td %TH:%TM %p\n" | awk '$2 >= "22:00" && $2 <= "06:00" {print $3}' | xargs rm
 
Zuletzt bearbeitet:
Ich muss nach einem Breich zwischen 22 und 06:00 lölschen......
Und um welchen Zeitstempel geht es dabei?
  • Access
  • Modify
  • Change
  • Birth
Ich habe mal ein Script vorbereitet welches auf ein einzigen Zeitstempel die Dateien findet und entfernt.

Aber wenn es um eine Zeitspanne geht wie angegeben muss ich da nochmals überlegen 🤔

Nochmals genauer nachgefragt um es besser zu spezifizieren.
Die Uhrzeit zwischen 22:00 und 06:00 Uhr aber auch an unterschiedlichen Tagen?
D.h. Nur die Uhrzeit aber nicht das Datum ist bei der Suche relevant?
 
Unser @geimist ist schon einer ;) .
Hab grad mal die man-Page zu find gelesen, speziell zu -printf. Bei "%TH" z.B. steht das "T" für Modifikation-Time (Access-Time wäre "A"), das "H" für die Stunde. Boah, kann man sich da Dinge zusammenbasteln.

Edit: Ich frag mich grad, was "awk '$2 >= "22:00" && $2 <= "06:00"..." macht. Ist && eine Und-Verknüpfung? Müsste das kein Oder sein?
 
Zuletzt bearbeitet:
In nachfolgender Zeile...
... hat ein Profi gearbeitet, der nicht nur (wie ich) einen Hammer, sondern auch anderes Werkzeug in seinem Repertoire hat.
Ich verneige mich. Schöne Lösung!
 
  • Like
Reaktionen: w00dcu11er
Ich habe mir das auch nur zusammengesucht. Dem Internetz sei Dank :giggle:

Edit: Ich frag mich grad, was "awk '$2 >= "22:00" && $2 <= "06:00"..." macht. Ist && eine Und-Verknüpfung? Müsste das kein Oder sein?
Ja, das ist eine UND-Verknüpfung. Es soll ja nur löschen, wenn größer als 22 Uhr UND kleiner als 6 Uhr. Bei ODER wäre jede Datei zutreffend.
 
Überleg mal, welche Datei hat ein schon eine Modifikation-Time, die >= 22 Uhr und <= 06 Uhr ist, keine. Mit oder passt es.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat