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 /home
Name beginnt mit securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
Sie brauchen -mtime +6
und nicht +7
weil -mtime
24h Perioden zählt. Wie im -atime
Abschnitt von man find
( -mtime
funktioniert 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 securityuserN
Benutzer 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 find
Befehl einmal täglich ausgeführt und die Dateien gelöscht.
/home
enthä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.