Commande find dans script

Bonjour,

Je créé un script de sauvegarde avec une purge.

Pour la purge j’utilise la commande suivante :

find /$backup_dir -type f -prune -mtime +7 -exec rm -f {} ;

J’ai essayé différents syntaxes mais j’ai toujours le message suivant :

find: Paramètre manquant pour « -exec »

Pouvez-vous m’aider SVP.

Merci par avance,

c’est peut-être que la variable ( {} ) est vide.

Dans ce cas c’est que find n’a rien trouvé. Peut-être que -m n’est pas le bon choix ? (je ne peux tester, car j’inhibe ce paramêtre dans mon fstab).

l’option « -prune » ne devrait-elle pas être accompagnée (précédée, jecrois) d’un répertoire ?

Qu’est-elle sensée faire ici ?

merci de renseigner la suite si possible

Je me demande si l’erreur n’est pas plutôt dans l’écriture de l’option -exec … personnellement, j’aurais plutôt écrit :

au lieu de :

De ce que j’ai compris, c’est soit l’usage de :
-exec command ;
ou de :
-exec command {} +

mais il me semble qu’un mixe des deux n’est nullement prévu … me tromperais-je ?!

dans le man, il est déconseillé d’utiliser -exec, et conseiller d’utiliser -execdir à la place.

Mais ce fil est déjà ancien: as-tu réglé ce problème, et de quelle façon ?

Je n’ai pas bien compris l’avantage supposé de «+» à la place de «;»

Pour faire des essais, utilise plutôt [mono]echo[/mono] que [mono]rm -f[/mono]

Ça fera beaucoup moins de dégâts et c’est beaucoup plus parlant.

… et même «echo “rm-f …”