Aufgabenplaner soll alte Dateien löschen, nach meinen Vorgaben

  • 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

Status
Für weitere Antworten geschlossen.

Hans_01

Benutzer
Registriert
12. Mai 2009
Beiträge
49
Reaktionspunkte
1
Punkte
8
Hallo Leute,

ich habe einen gemeinsamen Ordner für die Sicherungen erstellt.
Eine mir wichtige Software sichert immer und alles im Ordner "BACKUP" als ZIP Dateien (jeweils 2 Gb groß) ab.
Mit der Zeit wird der Ordner bzw. die DS bald voll werden.

Hat jemand eine Idee, wie ich die alten ZIP Dateien automatisiert löschen kann?

Ich denke mir der "Aufgabenplaner" könnte da sehr hilfreich sein, aber auch andere Ansätze wären willkommen.
Jedenfalls das mit den selbst erstellt Scripts verstehe ich nicht (finde darüber auch nichts).
Hat jemand eine Info darüber?

LG - Hans

DS716, DSM 6.1.3 Update 1
 
Hast Du Shellzugriff (ssh/telnet) und ein wenig Erfahrung mit der Nutzung einer Linux-Shell? Ich kann Dir gern eine find-Zeile schreiben, aber Du musst den Pfad anpassen. Dazu musst Du den korrekten Pfad kennen bzw. auf einer Shell überprüfen und idealerweise die Zeile erstmal auf der Shell mit einem Testverzeichnis auf Korrektheit prüfen.
 
Im Aufgabenplaner kann man benutzerdefinierte Scripts eintragen. Du brauchst noch nicht mal ein Script, eine einzige Befehlszeile reicht schon aus.

/usr/bin/find /volume1/GemeinsamerOrdner/Order -type f -mtime +7 -exec rm {} \;

Das würde alle Dateien die älter als 7 Tage sind, und die sich unter GemeinsamerOrdner/Ordner befinden, löschen.

Also VORSICHT.

Lieber nochmal nachfragen mit konkreten Angaben zu deiner Ordnerstruktur, oder mal mit Testordnern und Daten probieren.

Zum testen kann man auch anstatt dem Löschvorgang die Dateinamen die gelöscht werden würde in eine Datei ausgeben lassen.

/usr/bin/find /volume1/GemeinsamerOrdner/Order -type f -mtime +7 -exec ls {} \; >/volume1/GemeinsamerOrdner/results.txt 2>/volume1/GemeinsamerOrdner/results.err
 
Hallo "dil88" und "Fusion"
Ihr seit aber fix drauf - Gratulation. Ich kann die Scripts lesen und im Internet recherchieren was mit den Befehlen so gemeint ist (Pfadangabe bekomme ich hin) - wenn es um anpassen geht bin ich auf "try and error" angewiesen.
Als Beweis kann ich sagen - bei .../GemeinsamerOrdner/Order da fehlt ein "n" -> grins .
Ja, vorsichtig beim löschen bin ich immer - deshalb ist mein erster Schritt mir eine Bastelbox zu kaufen. Aber der Ansatz ist genau das was ich gesucht habe.
LG - Hans
 
Könnte ja jetzt behaupten wäre Absicht gewesen. :)

Ist ja eh nur als Beispiel gedacht gewesen für z.B.
Gemeinsamer Ordner = MeineDokumente
Order / UnterOrdner = Banksachen

Sobald Leerzeichen auftauchen musst du mit "..." zum umschließen für die Pfade arbeiten, sonst geht es in die Hose.
 
Noch eine kurze Ergänzung zu find ... nachdem ich die exec Syntax jedes mal aufs neue verfluche.
find bietet bei aktuelleren Versionen die Möglichkeit, gefundene Dateien direkt zu löschen.

Aber so als auch so, vorher unbedingt mal Testen und das exec rm bzw. -delete erst machen wenn du dir sicher bist.


find . -maxdepth 1 -name foo -delete
 
Hallo Leute,

die Info war punktgenau - super.
Ich habe das Script einmal direkt im Aufgabenplaner eingegeben als auch als externes Script (abgelegt in einem Verzeichnis "Scripts") aufgerufen. Beides geht wunderbar. Genau so wie ich es haben wollte. Hab es sogar mit Sonderzeichen im Pfad versucht und es unter Anführungszeichen gesetzt. Mit "-maxdepth 1" lasse ich nur eine Ebene löschen zu.

/usr/bin/find "/volume1/DATEN/Adam#Johanna#20-09-47#f/21 Apr 2017#16-53-01" -type f -mtime +50 -maxdepth 1 -exec rm {} \;
Pfad ist absichtlich extra lang mit Sonderzeichen und Leerzeichen.

Es radiert alles weg was älter als 50 Tage ist und nur im vorgegeben Pfad. Perfekt.

Danke für die Info.
LG - Hans
 
Einzig sowas wie -name "*.zip" würde ich dann wohl noch aufnehmen :)

Ach und auf die Reihenfolge achten, sonst meckert find.
-maxdepth 1 -type f -mtime +50 -name "*.zip"
 
Status
Für weitere Antworten geschlossen.
 

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