Utiliser find pour supprimer tous les sous-répertoires (et leurs fichiers)
Je suis sûr que c'est tout droit vers l'avant et a répondu à quelque part, mais je n'ai pas réussi à trouver ce que je cherchais. En gros, je suis en train de lancer un script cron pour effacer le contenu d'un répertoire donné tous les 7 jours. Jusqu'à présent j'ai essayé ce qui suit,
find /myDir -mtime 7 -exec rm -rf {} \;
Toutefois, cela supprime également le répertoire parent myDir, dont je ne veux pas. J'ai aussi essayé,
find /myDir -type f -type d -mtime 7 -delete
qui semble ne rien faire. J'ai aussi essayé,
fnd /myDir -type d -delete
supprimé tous, mais le répertoire parent juste que j'en ai besoin. Cependant, un message d'avertissement est venu de la lecture,
chemin d'accès relatif potentiellement pas sûr
Je vous en serais reconnaissant si quelqu'un peut corriger mon script pour qu'il supprime en toute sécurité tous les sous-répertoires dans le dossier.
Merci beaucoup. =)
Mise à JOUR: j'ai décidé d'aller pour la suite,
find /myDir -mindepth 1 -mtime 7 -delete
Base sur ce que j'ai appris de tous ceux qui ont répondu. Encore une fois, merci beaucoup à vous tous.
source d'informationauteur infmz
Vous devez vous connecter pour publier un commentaire.
Essayer:
find /myDir -mindepth 1 -mtime 7 -delete
devrait probablement être
find /myDir -mindepth 1 -mtime +7 -delete
(ou peut-être
mtime +6
). Le+
signifie des choses 7 jours ou plus, plutôt que exactement 7 jours.Ce sujet
en supposant que vous l'exécuter à partir de
myDir
répertoire parent.Si vous ne pouvez pas garantir myDir existe, alors c'est plus sûr: