Hallo Community
Ich suche nach einer Lösung, automatisch einmal am Tag Dateien aus einem Ordner zu löschen, welche älter als 5 Tage sind. Gibt es eine Option, Erweiterung oder ein Script, welches mir das abnimmt?
lg bergi
Hallo Community
Ich suche nach einer Lösung, automatisch einmal am Tag Dateien aus einem Ordner zu löschen, welche älter als 5 Tage sind. Gibt es eine Option, Erweiterung oder ein Script, welches mir das abnimmt?
lg bergi
+1
Müsste man dann selbst schreiben, etwas vorhandenes wäre mir nicht bekannt...
Aber man kann ja mittels if-Abfragen einen Fall Datei älter als aktuelles Datum-letztes änderungsdatum=5 dann rm -rf Dateiandernfalls garnichts
Und das halt in einer entsprechenden Loop verpackt, sodass alle Dateien abgefragt werden
Script klingt gut. Leider habe ich damit Null Erfahrung. Da es ums Löschen geht, sollte das Script dann auch wirklich nur das machen, was es soll.
Vielleicht hat jemand von euch schon mal was in diese Richtung gemacht?
Für das Selektieren habe ich mal das hier ausprobiert:
Somit werden aber nur die Dateien selektiert, welche ich behalten möchte. Ich bräuchte den Rest.
Installiere bitte entware-ng [HowTo] Entware-ng und Linux-Pakete installieren
Dann verbindest du dich per Putty mit der Station und installierst findutils.
Dann versuche bitte nochmals den Einzeiler.
Entware-ng und findutils installiert. Und das Löschen funktioniert nun!
Herzlichen Dank
Jetzt fehlt noch die tägliche, automatische Ausführung durch das NAS. Das muss wohl in crontab. Wie ist mir aber nicht ganz klar:
- Wie und wo soll der Befehl gespeichert werden? In separate Datei?
- Wie kann Crontab editiert werden, dass die Änderung nach Reboot und Firmware Updates erhalten bleibt?
Wann soll das täglich passieren?
Wo möchtest du das Script speichern?
Das kann nachts zB um 3 Uhr ablaufen.
Das Skript würde ich gerne in meiner Ordnerfreigabe 'Admin' speichern. Später kommen dann evt weitere Bereinigungsaufgaben dazu.
Ok, dann gib folgend Befehle per Putty ein:
echo "#!/bin/sh" > /share/Admin/del_files_older_5days.sh
echo "find /path/to/files -type f -mtime +5 -exec rm {} \;" >> /share/Admin/del_files_older_5days.sh
chmod 755 /share/Admin/del_files_older_5days.sh
echo "0 3 * * * /share/Admin/del_files_older_5days.sh" >> /etc/config/crontab
crontab /etc/config/crontab
Kurze Erläuterung:
1. und 2. erstellt das Script "del_files_older_5days.sh" Zeile 2 natürlich anpassen!
3. Setzt Ausführungsrechte für die Datei.
4. Fügt eine Zeile in der crontab ein
5. Läd die crontab neu.
Ich hoffe es funktioniert.
So, bin nun endlich dazu gekommen das zu testen.
Also der Eintrag in crontab war erfolgreich. Zum Test hab ich noch einen Eintrag für einen Website Aufruf hinzugefügt. Der logt die Ausführungen.
Log wird geschrieben, aber das Löschen funktioniert nicht. Der selbe Finde/Löschen Befehl auf Putty funktioniert aber. Gibt es hier noch ein Berechtigungsproblem?
Bleibt der Eintrag in crontab nach einem Firmware Upgrade erhalten?
Versuche bitte mal:
echo "#!/bin/sh" > /share/Admin/del_files_older_5days.sh
echo "/opt/bin/find /path/to/files -type f -mtime +5 -exec rm {} \;" >> /share/Admin/del_files_older_5days.sh
chmod 755 /share/Admin/del_files_older_5days.sh
echo "0 3 * * * /share/Admin/del_files_older_5days.sh" >> /etc/config/crontab
crontab /etc/config/crontab
Der Eintrag sollte erhalten bleiben.
Jetzt läuft die Bereinigung wie gewünscht.
Herzlichen Dank für deine Hilfe.
Freut mich, dass ich helfen konnte.
Setze bitte noch deinen Thread auf "erledigt"!
Hallo,
wie stelle ich es an, wenn ich das auf der 2.Festplatte anwenden möchte? Und wie logge ich mich da ein?
Gruß Hicki
Moin, wenn Du noch nicht mal weißt, wie Du Dich einloggst, dann solltest Du besser die Finger davon lassen .
Wenn Du etwas falsches löscht, kann das ganze NAS zum Design-Briefbeschwerer werden.
Und abgesehen davon: Wie frage ich richtig?
Wenn Du uns noch nicht einmal mitteilst, wie das NAS konfiguriert ist (Raid?), dann können wir auch nichts zur zweiten Platte (Pool, Volume???) sagen.
Gruß
Hallo,
wie ich mich über die Weboberfläche einlogge weiß ich schon. Ich meine über Putty.
Ich finde es lästig regelmäßig meine Backups von der 2.Platte zu löschen.
Ich denke mal, dass geht auch anders. Und mit der richtigen Anleitung erst recht.
Ich habe mal ein Bild angehängt, um welches Verzeichnet es geht.
Vielen Dank schon mal im voraus.
Gruß Hicki
Ich meinte auch die Anmeldung über Putty, das ist einfachtes Linux.
Die Frage wie das geht zeigt mir, das Du Dich mit Linux nicht auskennst, daher meine Warnung.
Ich sehe im Screenshot nur ein Volume 2.
Soll man daraus schliessen, das die Platten als Einzellaufwerke konfiguriert sind?
Letztendlich musst Du in dem o.a. Script nur den Pfad entsprechend ändern, so das er auf das richtige Verzeichnis zeigt.
Da das editieren unter Linux aber nur mit einem passenden Editor (z.B. vi) geht und nicht mit notepad, sehe ich hier gewisse Schwierigkeiten auf Dich zukommen. Für vi gibt es genügend Anleitungen im Netz.
Alternativ könntest Du WinSCP installieren und mit WinSCP arbeiten, damit hast Du zumindest die gewohnt grafische Oberfläche.
Aber auch hier gilt: Du musst wissen, as Du tust.
Gruss
Ausserdem NIEMALS das NAS intern "backuppen" ..immer extern (USB,Anderes NAS,Cloud,etc)