Find message d'erreur

Résolu/Fermé
Utilisateur anonyme - 29 déc. 2008 à 12:52
 Utilisateur anonyme - 29 déc. 2008 à 16:04
Bonjour,
j'ai fait un petit script qui sauvegarde tous les jours des logs dans un dossier, et je souhaiterais qu'il efface des dossiers qui sont vieux de plus de 30 jours.
cependant, en ligne de commande, quand je saisis :
find . -type -d -ctime +30 -exec rm -d -r {} \ ;

j'ai bien la liste des dossiers à supprimer, mais avec écrit "aucun fichier ou répertoire de ce type"

Puis si je re-execute la commande, cela fonctionne correctement.
sachant que j'aimerais automatiser ce script, je souhaite garder un contenu propre sans message d'erreur.

Quelqu'un saurait m'aider s'il vous plait?

Merci d'avance.

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
29 déc. 2008 à 13:34
Salut,

find . -type -d
C'est "-type d" sans tiret devant le "d" :-)
0
Utilisateur anonyme
29 déc. 2008 à 14:25
Bonjour Jipicy
c'est exact.
sachant que je n'ai toujours pas réussi à installer VNC sur ma Debian, je me contente de recopier à la main... je n'ai pas mis le - dans mon script.
je ferai attention la prochaine fois...
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > Utilisateur anonyme
29 déc. 2008 à 15:03
Donc ne sachant pas si tu as tapé les bonnes commandes, il n'y a pas d'espace entre l'anti-slash et le point virgule ( \; )

Essaye aussi de rajouter :
find . -type d -ctime +30 -exec rm -d -r {} 2>/dev/null \;
Essaye aussi sans l'option "-d" de la commande "rm".
0
Utilisateur anonyme > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
29 déc. 2008 à 15:32
ça à l'air d'être ok!
Merci beaucoup Jipicy!
une dernière question, à quoi sert 2>/dev/null que tu m'as fait ajouté ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > Utilisateur anonyme
29 déc. 2008 à 15:44
Ça sert à rediriger ">" la sortie d'erreur "2" (stdout) vers une espèce de poubelle style trou noir "/dev/null", en gros c'est dire au système que quand il rencontre un message d'erreur pour la commande "find", au lieu de l'afficher sur l'écran (stdin), ben il l'envoie vers un gouffre sans fin...
0
Utilisateur anonyme > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
29 déc. 2008 à 16:04
Ok!
merci pour tout!
bonne fin de journée!
0