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 :

Problème de suppression Fichiers en Unix


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Par défaut Problème de suppression Fichiers en Unix
    Bonjour à tous,

    Un de mes scripts génèrent quotidiennement X fichiers de log dans un répertoire.
    Je souhaiterai créer un script dans lequel je passerai en argument une date.

    L'objectif serait qu'il me supprime tous les fichiers créés antérieurement à cette date ?
    Qqn pourrait-il m'aider ?

    Merci

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Tout d'abord, je te conseil de regarder les possibilités qu'offre un logiciel comme logrotate.

    Sinon, find est la fonction qu'il te faut pour rechercher des fichiers (permet de passer une date en argument de recherche), et tu peux coupler find à un rm (attention toutefois à ceci, car toute suppression est définitive).
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find / -name "[tT][OoiI][tT][OoiI]" -mtime +$nombre_jour -exec rm -rf {} \;
    par exemple en nombre de jour je n'ai plus en tête l'option pour la date....

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Citation Envoyé par frp31 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find / -name "[tT][OoiI][tT][OoiI]" -mtime +$nombre_jour -exec rm -rf {} \;
    par exemple en nombre de jour je n'ai plus en tête l'option pour la date....
    Je pense qu'une petite explication s'impose :

    find recherche les fichier correspondant aux critères que tu précises.

    Ici, find commence à chercher sur / (donc à la racine de tous les répertoires, ce qui n'est pas du tout optimisé)
    • "-name" permet de préciser que tu souhiates trier sur le nom du fichier
    • "[tT][OoiI][tT][OoiI]" : utilisation des expressions régulières pour trouver tous les ficheirs dont la première lettre est 't', la seconde 'o' ou 'i', 't', puis encore 'o' ou 'i', le tout soit en majuscule soit en minuscule (TOTO, tiTO, ToTi, tItI, ...)
    • -mtime +$nombre_jour: permet de préciser le nombre de jours depuis la dernière modification du fichier. Ici, le nombre de jours est stocké dans la variable nombre_jour, définie avant d'appeler la commande find. On trouve également atime (fichier accédé), ctime (fichier dont le statut a été changé)
    • -exec : permet de préciser que l'on souhaite exécuter une commande sur le résultat trouvé par find. Ici, la commande à exécuter est "rm -rf", ce qui suppose que tu es parfaitement certain de ce que tu as tapé dans le find (les fichiers sont irrémédiablement supprimés).


    http://man.developpez.com/man1/find.1.php
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. Problème de suppression fichier windows lié à une table
    Par sherlock611 dans le forum WinDev
    Réponses: 16
    Dernier message: 20/03/2012, 11h30
  2. Problème de suppression fichier Excel
    Par grnez dans le forum Langage
    Réponses: 8
    Dernier message: 10/05/2011, 08h16
  3. Réponses: 6
    Dernier message: 06/12/2005, 19h16
  4. Problème de suppression de fichier
    Par sorry60 dans le forum Assembleur
    Réponses: 7
    Dernier message: 23/04/2005, 18h33
  5. Réponses: 4
    Dernier message: 16/04/2004, 08h20

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