Innanzitutto, questo comando troverà ed eliminerà tutti i file più vecchi di 7 giorni in qualsiasi sottodirectory il /homecui nome inizia con securityuser:
find /home/securityuser* -mtime +6 -type f -delete
È necessario -mtime +6e non +7perché -mtimeconta periodi di 24 ore. Come spiegato nella -atimesezione di man find( -mtimefunziona 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 findcomando una volta al giorno ed eliminerà i file.
/homedi 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/backup1e così via.