Mais en fait, finda un raccourci pour cela: l' -deleteoption:
find -type f -name '*.sql' -mtime +15 -delete
Veuillez tenir compte des avertissements suivants dans man find:
Warnings: Don't forget that the find command line is evaluated
as an expression, so putting -delete first will make find try to
delete everything below the starting points you specified. When
testing a find command line that you later intend to use with
-delete, you should explicitly specify -depth in order to avoid
later surprises. Because -delete implies -depth, you cannot
usefully use -prune and -delete together.
PS Notez que le transfert direct vers rmn'est pas une option, car rmne s'attend pas à des noms de fichiers sur l'entrée standard. Ce que vous faites actuellement, c'est de les faire reculer.
Merci. J'ai lu la page de manuel et j'ai essayé ce drapeau. Je passe un chemin complet mais je reviens "/ usr / www2 / bar / htdocs / foo / rsync / httpdocs / db_backups /: chemin relatif potentiellement non sûr". Une idée pourquoi?
Merci. Je ne suis pas sûr d'avoir bien suivi le message, mais quand j'ai émulé leur solution et mis -delete à la fin de la commande, il a supprimé tous les fichiers sql indépendamment de l'heure du mod ... mais il n'avait pas d'avertissement donc je suppose c'est progrès ...
jerrygarciuh
1
@jerrygarciuh Aïe, j'espère que rien de précieux n'a été perdu ... mandit: When testing a find command line that you later intend to use with -delete, you should explicitly specify -depth in order to avoid later surprises.Je ne sais pas comment cela importerait compte tenu des autres options que vous avez utilisées, mais avez-vous essayé cela?
Lev Levitsky
Non, je ne l'ai pas fait mais rien n'a été perdu. Ces fichiers sont synchronisés à partir d'un autre serveur sur lequel ils sont également stockés.
man
dit:When testing a find command line that you later intend to use with -delete, you should explicitly specify -depth in order to avoid later surprises.
Je ne sais pas comment cela importerait compte tenu des autres options que vous avez utilisées, mais avez-vous essayé cela?Sélectionne les fichiers de
/usr/www/bar/htdocs
plus de 15 jours et les supprime.la source
Une autre méthode plus simple consiste à utiliser la
locate
commande. Ensuite, dirigez le résultat versxargs
.Par exemple,
la source
En supposant que vous ne soyez pas dans le répertoire contenant les fichiers de sauvegarde * .sql:
L'option -v ci-dessus est pratique, elle affichera verbalement les fichiers supprimés au fur et à mesure de leur suppression.
J'aime lister les fichiers qui seront supprimés en premier pour être sûr. Par exemple:
la source