Tout d'abord, cette commande recherchera et supprimera tous les fichiers de plus de 7 jours dans n'importe quel sous-répertoire /home
dont le nom commence par securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
Vous en avez besoin -mtime +6
et non +7
parce que -mtime
compte des périodes de 24h. Comme expliqué dans la -atime
section man find
( -mtime
fonctionne de la même manière):
-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.
Donc, pour trouver un fichier qui a été modifié il y a 7 jours ou plus, vous devez donc rechercher les fichiers qui ont été modifiés il y a plus de 6 jours -mtime +6
.
L'étape suivante consiste à exécuter cette commande une fois par jour. Étant donné que chacun securityuserN
est un utilisateur différent (vous voudrez peut-être repenser cette configuration, cela rend tout plus compliqué), cela doit être exécuté en tant que root. Alors, éditez /etc/crontab
:
sudo nano /etc/crontab
Et ajoutez cette ligne:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Cela exécutera la find
commande une fois par jour et supprimera les fichiers.
/home
contient généralement un sous-dossier pour chaque utilisateur. Si vous ne voulez pas stocker vos sauvegardes en tant qu'utilisateurs différents (ce n'est pas vraiment une bonne idée), vous devriez envisager un autre emplacement, par exemple/home/security/backup1
, etc.