Bonjour à tous,
je suis en train de me monter un serveur sous fedora et j'effectue une sauvegarde tous les soirs d'un répertoire de synchro.
La sauvegarde tourne sur 20 jours: le soir j'efface le dernier répertoire, je renomme tous les autres pour décaler la numérotation (ils sont nommés JourJ-1, JourJ-2, ...etc... ) et je recrée le numéro 1 qui contiendra la sauvegarde du jour.
Je pense qu'il serait plus pratique pour la gestion que je nomme mes répertoires en fonction de la date, je fait donc un mkdir `date '+%d-%m-%Y'`.
Ceci ne pose pas de problème particulier sauf pour ce qui est de supprimer le répertoire le plus ancien. Malgré tous mes efforts je ne trouve pas comment faire.
A votre avis comment pourrais je m'y prendre?
Merci
# man find
Posté par NeoX . Évalué à 1.
sinon un bete calcul date_a_supprimer=date du jour - 20 jour
[^] # Re: man find
Posté par glut . Évalué à 1.
merci de la réponse
# 2-3 suggestions
Posté par Steve Azriel . Évalué à 3.
Je te propose:
1) De changer le nommage des répertoire en AAAA-MM-DD (+%Y-%m-%d) car avec cette méthode, le premier repertoire donné en ordre "alphabétique" sera le plus ancien :-)
2) D'utiliser la commande "ls -ltd /chemin/*" pour trier par rapport à la date (voir laquelle est utilisée, à priori la date de dernière modification) et là, le dernier (ou si tu rajoutes l'option "-r", le premier) [à confirmer quand même :P] est celui qui est le plus ancien :-)
3) Enfin, mon préféré, le find :-)
===
find /chemin -type d -mtime +20 -maxdepth 1
===
(-maxdepth est pour la profondeur de recherche)
Bon courage !
Cdlt,
# Avec ls, ça fonctionne...
Posté par Gyro Gearllose . Évalué à 3.
J'ai créé plusieurs répertoires, nommés rep1 à rep9, dans l'ordre...
Au prompt, quand je tape :
$ rm -r $(ls -t | tail -1)
Au premier lancement, ça me gicle rep1 (normal, c'est le plus vieux).
Au second rep2, etc.
Arrivé à rep4, je suis allé dans rep5, j'y ai créé un fichier (touch plop), et je suis redescendu d'un niveau.
la commande citée ci-dessus, lancée successivement, m'a dans l'ordre supprimé rep6, rep7, rep8, rep9 puis rep5 en dernier.
Il me semble donc que ça correspond à ce que tu demandes...
[^] # Re: Avec ls, ça fonctionne...
Posté par glut . Évalué à 3.
je viens de faire quelques tests et il semble que cela fonctionne, en plus cela me permet de simplifier considérablement mon script. :)
Je vais poursuivre les tests.
En tout cas merci beaucoup
--
Glut
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.