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 :

Detecter les fichiers ancien selon un certain temps


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut Detecter les fichiers ancien selon un certain temps
    Bonjour,

    J'ai essauyé de chercher une solution pour mettre en place un script qui va faire le nettoyage du type compression de log selon leur durée de vie.

    Le problème c'est que on lancant find il me fait des parcours et me ressort des fichiers dont je n'ai pas besoin

    Ma question est tres simple : y a t il un moyen de connaitre en seconde ou bien en heures selon la dernière modification du fichiers car pour les fichiers qui dépassent 1 an c'est l'année qui m'affiche.

    Merci d'avance de vos réponse et j'ai essayé de chercher dans le forum ainsi que sur d'autre site mais j'ai pas trouvé une solution qui me convient

    Merci d'avance

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par Mimo
    Le problème c'est que on lancant find il me fait des parcours et me ressort des fichiers dont je n'ai pas besoin
    Ca dépend certainement de toutes les options utilisées, car la commande find est très, très pointue

    Citation Envoyé par Mimo
    Ma question est tres simple : y a t il un moyen de connaitre en seconde ou bien en heures selon la dernière modification du fichiers car pour les fichiers qui dépassent 1 an c'est l'année qui m'affiche.
    La commande stat permet d'obtenir la date de la dernière modification, soit sous une forme de date, soit sous une forme d'instant UNIX (nombre de secondes depuis EPOCH). Il y a donc moyen de bricoler.

    Je reste toutefois persuadé que l'utilisation de find serait un meilleur choix.

    Bon courage.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Merci beacoup de ta réponse et de ta rapidité.

    Il est vrai que la commande stat est super pratique je ne la connaissai même pas.

    Mais elle va me servir pour les serveur Linux . mais le comble c'est que sous AIX-IBM cette commande n'est pas connu dommage

    Mais maintenant il faut que je trouve le moyen de bloquer find à ne pas sortir du repertoire (pour qu'il évite de parcourir les sous repertoire)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Mimo
    Merci beacoup de ta réponse et de ta rapidité.

    Il est vrai que la commande stat est super pratique je ne la connaissai même pas.

    Mais elle va me servir pour les serveur Linux . mais le comble c'est que sous AIX-IBM cette commande n'est pas connu dommage

    Mais maintenant il faut que je trouve le moyen de bloquer find à ne pas sortir du repertoire (pour qu'il évite de parcourir les sous repertoire)

    tu veux juste parcourir le répertoire en cours???
    si c'est le cas un bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for ligne in `ls -lrt | tr -s " " | cut -d " " -f6,7,8,9`
    do
    awk (parametres adéquats)
    traitement
    done
    au niveau du traitement, t a la colone 1 mois, 2 jour, 3 année et 4 nom fichier.

  5. #5
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par Mimo
    Mais maintenant il faut que je trouve le moyen de bloquer find à ne pas sortir du repertoire (pour qu'il évite de parcourir les sous repertoire)
    Ca devrait être possible

    Quel find fait tu actuellement ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par 2Eurocents
    Ca devrait être possible

    Quel find fait tu actuellement ?
    Pour le find :
    find $REPERTOIRE -name "*$FICHIER*" -mtime +$DUREE | awk '{print $0}'

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for ligne in `ls -lrt | tr -s " " | cut -d " " -f6,7,8,9`
    do
    awk (parametres adéquats)
    traitement
    done

    Je crois que ton code est super maintenant il me reste de tester le time. si il est diffirent de XX:XX je fait plus d'un an.

    Merci a tous les deux .

  8. #8
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par Mimo
    Pour le find :
    find $REPERTOIRE -name "*$FICHIER*" -mtime +$DUREE | awk '{print $0}'
    Essaie ceci avant de cliquer sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find $REPERTOIRE -maxdepth 1 -name "*$FICHIER*" -mtime +$DUREE -print

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Je vais essayer cette commande sur Linux.
    Dommage que sur le foutu aix-ibm rien ne fonctionne correctement

    Mais encore merci.

    Je vais essayer de chercher sous AIX comment ça marche .

    Je confirme que ça marche sous Linux

    Encore merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/05/2014, 22h31
  2. Réponses: 0
    Dernier message: 14/07/2012, 09h01
  3. [Batch] Récupérer tous les fichiers selon certains critères
    Par Mistic100 dans le forum Scripts/Batch
    Réponses: 16
    Dernier message: 27/07/2009, 01h20
  4. Detecter les fichiers en double ?
    Par byloute dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 03/11/2007, 17h58
  5. Réponses: 4
    Dernier message: 11/04/2007, 20h08

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