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

Shell et commandes GNU Discussion :

[BASH] - recherche à partir d'un fichier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Par défaut [BASH] - recherche à partir d'un fichier
    Bonjour, à tous

    J'essai de faire un script pour effacer des fichiers trop vieux dans des sous répertoire à partir d'une racine identique
    exemple
    /mnt/data/toto -> racine identique
    /mnt/data/toto/1
    /mnt/data/toto/2
    /mnt/data/toto/3
    ...
    /mnt/data/toto/15
    dans chacun des sous dossiers, il y a des fichiers qui sont trop vieux etje souhaiterais effacer les plus anciens fichier avec une rétention de 15 jours
    j'ai préparé un début de script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/bin/bash
    DATA=/mnt/data/toto 
     
    function fi_log {
            FICALLDATE=`date '+%d-%m-%Y %X'`
            echo "${FICALLDATE} - INFO  - $*"
    }
     
    fi_log "=== DEBUT DE LA PURGE ==="
     
    for files in $var; find $DATA/$files daystart -type f -mtime +60 -print0 | xargs -0 rm -rv && find $DATA/$files -type d -empty -daystart -atime +60 -delete; done
     
    fi_log "=== FIN DE LA PURGE ==="
    dans le fichier files.txt j'ai mis les sous répertoires

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    avec une rétention de 15 jours
    Tiens. C'est marrant. Y a écrit 60 jours. -mtime +60.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (...) -mtime +60 (...) -atime +60 (...)
    À quoi sert de jouer avec la date de modification ET la date d'accès ? Pourquoi 2 commandes différentes ?

    dans le fichier files.txt j'ai mis les sous répertoires
    Quel intérêt puisque find va dans les sous-dossiers ?

    J'essaie de faire un script
    Ton message n'a pas de question. Il nous reste à te souhaiter "bonne chance".

    Beaucoup de code déjà écrit alors qu'il ne correspond pas au but.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    Bonjour,

    elle est où var ?
    il est où do ?
    et, il serait utile de commenter la ligne dans la boucle pour comprendre (toi, nous) ce qu'elle fait.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Par défaut
    Bonsoir,

    Tiens. C'est marrant. Y a écrit 60 jours. -mtime +60.
    Effectivement je me suis trompé dans mes différents copier/coller

    Quel intérêt puisque find va dans les sous-dossiers ?
    car les noms des dossiers que je met dans le fichiers texte doivent rester et ne dois pas être supprimer

    Ton message n'a pas de question. Il nous reste à te souhaiter "bonne chance".
    Pouvez vous m'aidez a résoudre mon problème svp?

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    ok . . .
    mais, quel est le problème ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    find pour trouver les fichiers.
    grep pour filtrer.
    rm -i pour supprimer.

    Fin de l'histoire.
    Le reste (for, function) n'est pas bon.

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/05/2014, 12h23
  2. [XL-2010] Recherche de valeur et recopie à partir de 2 fichier differents
    Par dereseb1 dans le forum Excel
    Réponses: 1
    Dernier message: 04/03/2014, 15h26
  3. Indexation fichiers pour recherche à partir d'une base
    Par cedy-kassy dans le forum Général Java
    Réponses: 3
    Dernier message: 10/04/2012, 10h30
  4. [script bash] Rechercher une ligne de caractères dans un fichier
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 09/09/2010, 11h42
  5. Réponses: 6
    Dernier message: 09/02/2007, 17h24

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