Zunächst werden mit diesem Befehl alle Dateien gesucht und gelöscht, die älter als 7 Tage sind und sich in einem Unterverzeichnis befinden, in dem der /homeName beginnt mit securityuser:
find /home/securityuser* -mtime +6 -type f -delete
Sie brauchen -mtime +6und nicht +7weil -mtime24h Perioden zählt. Wie im -atimeAbschnitt von man find( -mtimefunktioniert auf die gleiche Weise) erklärt:
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to
have been accessed at least two days ago.
Um eine Datei zu finden, die vor 7 oder mehr Tagen geändert wurde, müssen Sie also nach Dateien suchen, die vor mehr als 6 Tagen geändert wurden -mtime +6.
Der nächste Schritt besteht darin, diesen Befehl einmal am Tag auszuführen. Da jeder securityuserNBenutzer ein anderer ist (möglicherweise möchten Sie dieses Setup überdenken, was alles komplizierter macht), muss dies als root ausgeführt werden. Also, editiere /etc/crontab:
sudo nano /etc/crontab
Und füge diese Zeile hinzu:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Dadurch wird der findBefehl einmal täglich ausgeführt und die Dateien gelöscht.
/homeenthält normalerweise einen Unterordner für jeden Benutzer. Wenn Sie Ihre Backups nicht als unterschiedliche Benutzer speichern möchten (keine gute Idee), sollten Sie einen anderen Speicherort in Betracht ziehen, z/home/security/backup1. B. und so weiter.