Der find
Befehl löscht alle regulären Dateien in oder unter dem /home/_backups/pokebrawl
Verzeichnis, die älter als sieben Tage sind (oder genauer gesagt, nicht innerhalb der letzten Woche geändert wurden).
Es sollte wahrscheinlich lesen
find "$DESDIR" -mtime +6 -type f -delete
oder
find "${DESDIR:?Not set correctly}" -mtime +6 -type f -delete
da es eine vollkommen gute Variable gibt, die diesen Verzeichnisnamen bereits enthält. Die zweite Variante würde einen Fehler verursachen, wenn sie DESDIR
aus irgendeinem Grund leer oder nicht gesetzt wäre.
Ich gehe davon aus, dass dies eine Möglichkeit ist, nur die Backups der letzten Woche zu speichern. Ich würde vorschlagen, etwas wie borgbackup
oder restic
stattdessen zu verwenden, da diese Backups viel länger aufbewahren können, ohne viel mehr Speicherplatz zu benötigen (selbst stündliche Backups für ein Jahr würden überhaupt nicht viel Speicherplatz beanspruchen, wenn sich die Daten nicht stark ändern würden). . Sie deduplizieren Daten und borgbackup
unterstützen zusätzlich die Komprimierung (beide unterstützen auch Remote-Backups und Verschlüsselung).
Verwenden Sie einen Cron-Job, um das Skript alle 24 Stunden (um Mitternacht) auszuführen.
Geben Sie zunächst den Befehl ein crontab -e
. Dies würde einen Editor mit der aktuellen Crontab für den aktiven Benutzer öffnen (dies kann eine leere Datei sein oder nicht).
Dann füge hinzu
@daily /path/to/the/script.sh
(Wo path/to/the/script.sh
ist der Pfadname des Skripts).
Speichern und beenden Sie den Editor.
Das Skript würde jetzt um Mitternacht aufgerufen, sogar nachts.
Wenn Sie das Skript beispielsweise jeden Nachmittag um 13:30 Uhr ausführen möchten, fügen Sie stattdessen Folgendes als crontab-Eintrag hinzu:
30 13 * * * /path/to/the/script.sh
Weitere Informationen zum Schreiben eines Crontab-Zeitplans ( man 5 crontab
) finden Sie im Crontab-Handbuch auf Ihrem System .