IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Cherche commande UNIX bien plus simple


Sujet :

Linux

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut Cherche commande UNIX bien plus simple
    Bonjour a tous,

    voici une commande bien sympathique et qui marche bien sauf que parfois elle un tantiné capricieuse ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find $A2_FIC/out -type f -name "ORPOR*" -mtime +10 -exec rm -f {} \; >>$A2_LOG 2>&1
    en resumé la commande me supprime tous les fichiers ORPOR* vieux de 10 jours .... quelque fois cette commende elle plante sur un des fichier me balancant que ce dernier n existe pas bien qu elle le trouve (sinon elle l inventerai pas) et elle le supprime bien .....

    le pb c est que cette commande est utilisée dans mon programme de facon a tourner en boucle toute les 10 mins et quand elle fait son caprice elle plante mon prog et c est embetant ...

    qlq un a t il une idee svouplai ??
    merci

  2. #2
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    ...en resumé la commande me supprime tous les fichiers ORPOR* vieux de 10 jours
    Note en passant : ton find cherche tous les fichiers qui ne sont pas modifiés depuis 10 jours ( mtime ). Cela repond certainement a ton besoin mais si tu veux chercher les fichiers + vieux que n jours il convient d'utliser -ctime a la place de -mtime.

    Quand tu dis que la ligne plante, quel est le message d'erreur exact ?

    Eventuellement tu pourrais logger le probleme en utlisant un systeme plus lent mais ajoutant plus d'infos, genre :

    echo "Purge Started" >> /tmp/debug.log
    for i in `find $A2_FIC/out -type f -name "ORPOR*" -mtime +10` ; do
    echo "++ prune $i >> /tmp/debug.log
    export RESULT=`rm -f $`;
    echo "++ prune $i reported $RESULT" >> /tmp/debug.log

    done
    echo "Purge Finished >> /tmp/debug.log

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    salut chef,

    en fait le message d erreur est un truc de ce genre :

    le fichier suivant (il donne le nom) est incorrecte, impossible de le supprimer !!

    alors que le fichier en question est bien supprimé ....

    le probleme c est que mon script est planté et c est genant car il boucle toutes les 10 mins .....

    j essai ta routine et je te reviens ....

    merci

  4. #4
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    y aurait pas des espaces dans les fichiers qui font planter par hasard?
    Two beer or not two beer. (Shakesbeer)
    Question technique par MP => poubelle!

  5. #5
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    hola,

    y a effectivement pleins d espace dans le fichier .....
    ce n est pas la raison quand meme !!!???

  6. #6
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Citation Envoyé par nenekes
    hola,

    y a effectivement pleins d espace dans le fichier .....
    ce n est pas la raison quand meme !!!???
    euh, juste pour préciser, je parlais d'espaces dans le nom du fichier, pas dans le fichier lui même hein
    je viens d'essayer ta commande sur des fichiers avec des espaces, ca semble marcher. Problème à chercher ailleurs ...
    Two beer or not two beer. (Shakesbeer)
    Question technique par MP => poubelle!

  7. #7
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    et ben ouais j avais compris dans le fichier
    il me semblais evident qu il n y avait po d espace dans le nom du fichier

    enfin bref ce que je constate depuis que je bosse avec unix c est ce n est pas si stable que ca

    mais putain pourquoi ca marche et de temps a autre ca merde ......

  8. #8
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    e probleme c est que mon script est planté et c est genant car il boucle toutes les 10 mins .....
    Pour quel raison ton script serait t"il planté ? A la limite que le find renvoi une erreur qu'on va alanyser ne me semble pas compromettre le reste de ton script ... Peux tu prouver que c'est bien le find qui le plante ? ( genre une trace avant et apres le find )

    Par ailleurs quel est le temps d'execution de ton script ? T'aurais pas deux scripts en train de tourner et d'essayer d'affichier le meme fichier, du coup il y en a un qui echoue ?

  9. #9
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    c est un script qui fait un certain nombre de chose step par stepm notamment effacer des fichiers vieux de 10 jours et j en ai 8 des scripts qui font la meme chose mais un traitement different et des noms de fichiers egalement different .... ce qui est bizarre c est qu ils le font pas tous et pas souvent .... cela fait quasi 6 mois que ca tourne et je peux compter une douzaine de plantage de ce genre !!!!

    si vous pouvez m aider a trouver une autre commande qui ferai ca, meme s il faut qu elle fasse deux lignes de code si elle est infaillible

    d avance merci

    bon week

  10. #10
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    Essaye kk chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i in `find "$A2_FIC/out" -type f -name "ORPOR*" -mtime +10` ; do 
     if [ -e $i ] ; then 
       rm -f $i;
     fi
    done
    ca devrait eviter de supprimer des fichiers inexistants

    sinon peut etre qu'en modifiant un peu la commande en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find "$A2_FIC/out" -type f -name "ORPOR*" -mtime +10 | xargs rm -f
    ca marcherait mieux

    T'est sur que tes differents scripts ne tappent pas sur les memes fichiers ?

  11. #11
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    hola chef,

    ouais la boucle marcherai tres bien je pense ... et je voulais eviter d ecrire du code pour ce genre de besoin mais bon ca marche mieux ...

    je vais neanmoins tester la commande modifiée ... je n avais pas pensé au xargs, une commande que j utilise pour des operations de masse ..... c est le temps qu il le dira ....

    merci pour tout les gars )

    a pliche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cherche commande unix pour éliminer les données communes
    Par astrolane dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 07/12/2009, 17h23
  2. [Bioshock] bien plus qu'un simple FPS
    Par Barsy dans le forum PC
    Réponses: 6
    Dernier message: 23/10/2009, 15h57
  3. [MCD] MCD bien compliqué: y avait-il plus simple?
    Par johnny3 dans le forum Schéma
    Réponses: 2
    Dernier message: 26/06/2009, 08h53
  4. [debutant] cherche chose plus simple que sendmail
    Par gifffftane dans le forum Réseau
    Réponses: 3
    Dernier message: 14/10/2008, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo