Innanzitutto, questo comando troverà ed eliminerà tutti i file più vecchi di 7 giorni in qualsiasi sottodirectory il /home
cui nome inizia con securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
È necessario -mtime +6
e non +7
perché -mtime
conta periodi di 24 ore. Come spiegato nella -atime
sezione di man find
( -mtime
funziona allo stesso modo):
-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.
Quindi, per trovare un file che è stato modificato 7 o più giorni fa, è necessario trovare i file che sono stati modificati più di 6 giorni fa, quindi -mtime +6
.
Il prossimo passo è far eseguire questo comando una volta al giorno. Dato che ognuno securityuserN
è un utente diverso (potresti voler ripensare quella configurazione, rende tutto più complicato), questo deve essere eseguito come root. Quindi, modifica /etc/crontab
:
sudo nano /etc/crontab
E aggiungi questa riga:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Ciò eseguirà il find
comando una volta al giorno ed eliminerà i file.
/home
di solito contiene una sottocartella per ciascun utente. Se non si desidera archiviare i backup come utenti diversi (non è una buona idea), è necessario prendere in considerazione un'altra posizione, ad esempio/home/security/backup1
e così via.