Suppression de fichier

Bonjour,

j’utilise backup-manager pour mes sauvegarde, à la fin du backup les sauvegarde sont poussées sur un autre serveur.

sur ce deuxième serveur je souhaiterai créer et automatiser un script qui supprime tous les jours le backup le plus vieux.

mes backup sont nommé de cette manière:

merci de votre aide.

merci.

Salut,

Essaie :

Cette commande te supprime le fichier le plus vieux (selon la date de modification).

l’option “1” de ls est tres pratique pour ca:

bonjour,

merci pour vos réponses.

dans mon répertoire, j’ai cette structure pour une sauvegarde journaliere:

est-ce que cette ligne va bien supprimer tous les fichier avec la date la plus éloignée dans le temps ?

j’ose pas trop tester :slightly_smiling:

thx’s

La commande se base sur la date de dernière modification du fichier (dans notre cas, le plus vieux est fichier_1, il a été modifié à 17 h 13). Par exemple, dans un dossier, tu vas avoir :

-rw-r--r-- 1 ph ph 0 2009-06-18 17:13 fichier_1 -rw-r--r-- 1 ph ph 0 2009-06-18 17:14 fichier_2 -rw-r--r-- 1 ph ph 0 2009-06-18 17:15 fichier_3 -rw-r--r-- 1 ph ph 0 2009-06-18 17:16 fichier_4 -rw-r--r-- 1 ph ph 0 2009-06-18 17:17 fichier_5 -rw-r--r-- 1 ph ph 0 2009-06-18 17:18 fichier_6

Après exécution de la commande, tu auras :

-rw-r--r-- 1 ph ph 0 2009-06-18 17:14 fichier_2 -rw-r--r-- 1 ph ph 0 2009-06-18 17:15 fichier_3 -rw-r--r-- 1 ph ph 0 2009-06-18 17:16 fichier_4 -rw-r--r-- 1 ph ph 0 2009-06-18 17:17 fichier_5 -rw-r--r-- 1 ph ph 0 2009-06-18 17:18 fichier_6

Dans ton cas, je suppose que ton backup est automatique. Qu’une fois le fichier créé, tu n’y touches plus jamais, donc tes fichiers : bck-server-all-mysql-databases.20090525.sql.bz2, bck-server-all-var/www/.20090525.tgz, bck-server-all-home/xxx/.20090525.tgz ont une date de modification au 2009-05-25, non ?

Faites gaffe :slightly_smiling:
ls -tr ne fait probablement pas la meme chose partout.

ls -tr ne met pas sur 1 seule colonne!

PH` probablement tu as un alias sur ls:
UN petit antislash devant pour eviter les alias:
\ls -tr

J’ai oublié de préciser que c’est avec ta commande que j’ai fait mes tests :smiley: :

Et, en effet, le résultat est différent avec le backslash :slightly_smiling:

Bonjour,

impeccable, la ligne que vous m’avez fournie fonctionne parfaitement.

juste une petite chose mon repertoire a une arborescence du type:

fichier_test_20090810.tar.gz
fichier_essais_20090810.tar.gz
fichier_fourniture_20090810.tar.gz
fichier_bd_20090810.tar.gz

la commande supprime le premier fichier (date la plus lointaine) pour supprimer les 4 fichiers j’ai mis 4 fois la même ligne dans un fichier executé par cron.
n’existe-il pas une autre solution ?

merci.

C’est la solution la plus simple mais il est toujours possible de faire mieux… :wink:

Ceci devrait faire l’affaire :