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 :

Script de nettoyage


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut Script de nettoyage
    Bonjour tout le monde,

    Je suis débutant dans le monde merveilleux de Linux, cependant je veux creuser la question car j'aime beaucoup sa puissance et sa stabilité, surtout pour des machines devant fonctionner 24h sur 24 sans demander de redémarrage tous les 2 jours ... ;-)
    En fait il me faut développer un script permettant d'effacer les fichers d'un répertoire plus vieux qu'une semaine par rapport à la date en cours.
    Pouvez-vous me donner des exemples, des conseils et quelques détails ?

    D'avance merci.
    Cricri

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    Bienvenue dans le mode merveilleux de GNU/Linux (sur un air bien connu ).

    Pour ta question la commande find est celle qu'il te faut (man find) avec les option atime (acceder depuis un certain nombre de jour)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find /home -type d -atime -7 -exec rm -rf {} \;
    cela efface tout repertoire dont le dernier accces date de plus de 7 jours.

    attention toutefois il conviendrait probablement de s'occuper des fichiers plutot et de ne pas effacer les reperetoires qui eux peuvent encore servir, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find /home -type f -atime -7 -exec rm -rf {} \;

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut
    Merci pour ta réponse :-)
    Je m'attendais à quelque chose de franchement plus long que ca comme commande lol
    Puis je te demander de me détailler la ligne de commande afin que je puiss comprendre son fonctionnement ?

    Merci beaucoup
    Cricri

  4. #4
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Citation Envoyé par c-ve
    Bonjour tout le monde,

    Je suis débutant dans le monde merveilleux de Linux, cependant je veux creuser la question car j'aime beaucoup sa puissance et sa stabilité, surtout pour des machines devant fonctionner 24h sur 24 sans demander de redémarrage tous les 2 jours ... ;-)
    En fait il me faut développer un script permettant d'effacer les fichers d'un répertoire plus vieux qu'une semaine par rapport à la date en cours.
    Pouvez-vous me donner des exemples, des conseils et quelques détails ?

    D'avance merci.
    Cricri
    Hello and welcome in this beautifull world.

    Alors si tu es debutant, je te conseille de bien te familiariser avec les scripts dans un premier temps.
    C'est vrai qu'ils permettent de se faciliter la vie enormement.

    Si tu me permet un conseil, ne commence surtout pas par un script qui a pour but d'effacer des fichiers. C'est risque.

    En ce qui concerne ta requete, je te conseille de regarder du cote des commandes suivantes:

    • stat
      Qui permet d'obtenir a peut pres toutes les informations sur un fichier. La plus complete.
    • ls
      Qui possede quelques option pour obtenir des informations rudimentaires.
    • find
      La commande pour trouver tout et n'importe quoi, et qui permet de plus d'effectuer des actions sur les fichiers que tu trouves


    A mon avis juste avec find tu dois pouvoir le faire.

    Ca devrait ressembler a ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find . -type f -ctime 7 -exec rm {} \;
    Cette commande efface tous les fichiers dans le repertoire courant dont le statut n'a pas ete modifie depuis une semaine.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    l'explication est donnée juste avant ....
    cependant :
    -type f
    ne selectionne que les fichier de type fichier ordinaire
    -atime -7
    ne selectionne que ceux n'eyant eux auxun acces depuis plus de 7 jours
    -ctime -7
    ne selectione que ceux n'eyant pas etait modifier depuis plus de 7 jours

    la diference en ctime et a time (il exisyte encor mtime) et juste une question de choix quand a ce que tu voulais faire.

  6. #6
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    En fait et pour comprendre, il faut savoir que le fichier possede ce qu'on pourrait appeler une "etiquette" qui contient des donnees independantes de son contenu.
    Par exemple la date de creation, de modification, les droits, etc...

    C'est pour cela qu'il existe une difference entre "derniere date d'acces au fichier" et "derniere date de modification du fichier".

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut
    Merci à tous pour la précision de vos réponses :-)

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

Discussions similaires

  1. [MySQL] Dev. script de nettoyage donnéese mal sauvegardées dans DB utf8_general_ci
    Par dev_web2 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/12/2009, 10h32
  2. [BATCH] Script de nettoyage
    Par darkwall_37 dans le forum Windows
    Réponses: 7
    Dernier message: 09/03/2008, 16h31
  3. Script de nettoyage (aide)
    Par waspy59 dans le forum Windows Vista
    Réponses: 3
    Dernier message: 18/01/2008, 16h22
  4. [AIX] Script de nettoyage ODM
    Par Abdelkad dans le forum AIX
    Réponses: 2
    Dernier message: 13/08/2007, 19h03
  5. Bout de script de nettoyage
    Par Gwipi dans le forum Langage
    Réponses: 3
    Dernier message: 17/05/2006, 15h09

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