Je suis un noob complet sur Linux mais je commence à comprendre. J'ai un serveur Ubuntu 16.04 utilisant un serveur FTP pour sauvegarder des fichiers vidéo de sécurité. Les fichiers seront stockés dans des dossiers tels que: /home/securityfolder1
, /home/securityfolder2
, /home/securityfolder3
et ainsi de suite.
Notez que chaque securityfolderN
est un utilisateur différent.
Parce que je ne veux pas que mes disques durs soient pleins tout le temps, je veux supprimer tous les jours des fichiers de plus de 7 jours dans ces dossiers.
Tout d'abord, cette commande recherchera et supprimera tous les fichiers de plus de 7 jours dans n'importe quel sous-répertoire de /home
dont le nom commence par securityuser
name__:
find /home/securityuser* -mtime +6 -type f -delete
Vous avez besoin de -mtime +6
et non de +7
car -mtime
compte 24 périodes. Comme expliqué dans la section -atime
de 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 rechercher les fichiers qui ont été modifiés il y a plus de 6 jours, d'où -mtime +6
.
L'étape suivante consiste à exécuter cette commande une fois par jour. Étant donné que chaque securityuserN
est un utilisateur différent (vous voudrez peut-être repenser cette configuration, cela rendra tout plus compliqué), vous devez l'exécuter en tant que root. Donc, é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 commande find
une fois par jour et supprimera les fichiers.
selon ma connaissance:
essayez la commande find
comme ceci:
find ./dirc/* -mtime +6 -type f -delete
./dirc/* : is your directory (Path)
-mtime +6 : modified more than 6 days ago (therefore, at least 7 days ago)
-type f : only files
-delete : no surprise. Remove it to test before like rm