trouver et supprimer un fichier ou un dossier âgés de plus de x jours
Je veux supprimer le fichier et de dossier âgés de plus de 7 jours, donc j'ai essayé
[17:07:14 root@client01.abc.com:~]# find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;
Donc, quand je lance find /tmp/-mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;
il ne montre aucun dir, mais pour find /tmp/-mindepth 1 -maxdepth 2 -ctime +7 -exec ls -l {} \;
il montre quelques fichiers dans les sous répertoire.
Ce est la bonne façon de supprimer des fichiers/dossiers âgés de plus de 7 jours dans un dir ?
- Double Possible de > Shell script pour supprimer des répertoires de plus de n jours
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire usage de ce morceau de code
Explication
Le premier argument est le chemin d'accès aux fichiers. Cela peut être un chemin d'accès, un répertoire, ou un générique, comme dans l'exemple ci-dessus. Je vous conseille d'utiliser le chemin d'accès complet, et assurez-vous d'exécuter la commande sans l'exec rm pour vous assurer d'obtenir les bons résultats.
Le deuxième argument, -mtime, est utilisé pour spécifier le nombre de jours que le fichier est. Si vous entrez +7, il trouvera les fichiers de plus de 7 jours.
Le troisième argument, -exec, vous permet de vous passer une commande telle que rm. Le {} \; à la fin est nécessaire pour mettre fin à la commande.
Source : http://www.howtogeek.com/howto/ubuntu/delete-files-older-than-x-days-on-linux/
Pour la suppression de dossiers, après la vidange à l'intérieur d'eux, vous pouvez
rmdir
au lieu derm
dans le morceau de code, aussi si vous souhaitez voir uniquement les répertoires, vous pouvez ajouterà bout de code comme ci-dessous:
Plus facile de faire
Qui del de fichiers et de répertoires
mon astuce:
la
daystart
option de mesurer les temps de début d'aujourd'hui plutôt que de 24 heuresref: official_doc