#1 Le 08/10/2012, à 11:38
- blowbackk
Supprimer plusieurs dossiers de sauvegarde
Bonjour,
J'utilise une tâche cron pour mes sauvegardes mais avec le temps ces sauvegardes prennent énormément de place.
Est-ce qu'il y aurait une commande pour pouvoir supprimer plusieurs dossier d'un seul coup ?
Une option de "rm-r" ? ou supprimer les fichiers plus vieux que ... ?
Pourrais intégrer directement une tâche cron pour nettoyer ce dossier de backup ?
Les noms des dossiers sont sous la forme "2012-12-31"
Merci d'avance.
Hors ligne
#2 Le 08/10/2012, à 12:18
- bilbaooo
Re : Supprimer plusieurs dossiers de sauvegarde
Bonjour,
Tu peux paramétrer la commande find pour rechercher et supprimer les fichiers que tu souhaites.
Par exemple :
find /home/sauvegardes -type f -a -mtime +14 -exec rm {} \;
Supprimera les fichiers (-type f) de plus de 14 jours dans le dossier de sauvegarde. Si chacune de tes sauvegarde se fait dans un dossier différent utilise
-type d
.
De façon générale, je ne sais pas trop ce que fait ton script dans le cron mais il est préférable d'utiliser rsync pour faire des sauvegardes, il te permet de synchrnoniser de dossiers, donc pas de soucis d'archives à supprimer.
Hors ligne
#3 Le 09/10/2012, à 09:24
- blowbackk
Re : Supprimer plusieurs dossiers de sauvegarde
Bonjour,
Merci pour ta réponse rapide.
J'ai entré :
find /backup/data/now -type d -a -mtime +30 -exec rm -r {} \;
J'ai ajoputé "-r" a rm pour pouvoir supprimer les dossiers.
Mais j'ai a chaque fois ce message :
rm: descend into write-protected directory `/backup/data/XXXXXX/2012-10-06/Webcam/Archives/2010'?
Que dois je faire pour qu'il supprime tout sans demander a chaque fois une confirmation ?
Merci
Edit : j'ai trouvé après quelques recherches, il faut enlever les alertes avec l'option "-f" sur rm
Dernière modification par blowbackk (Le 09/10/2012, à 09:31)
Hors ligne
#4 Le 09/10/2012, à 09:48
- pingouinux
Re : Supprimer plusieurs dossiers de sauvegarde
Bonjour,
rm -rf
En ligne
#5 Le 10/10/2012, à 07:57
- nesthib
Re : Supprimer plusieurs dossiers de sauvegarde
une astuce pour faire des comparaisons de date avec find est de créer un fichier avec une date donnée :
touch -t 201210100157 référence
puis d'utiliser l'opération de comparaison :
find /… -type d \! -newer référence -delete
(bien sûr, à tester sans le -delete pour commencer)
edit : j'en profite pour poster ce script de synchronisation des pdf pour zotero qui donne un exemple du fonctionnement de cette astuce.
Dernière modification par nesthib (Le 10/10/2012, à 08:12)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#6 Le 10/10/2012, à 12:20
- blowbackk
Re : Supprimer plusieurs dossiers de sauvegarde
Merci pour toutes ces infos.
J'aurai aimer aussi savoir comment avoir le détail de l'opération en cours.
Donc une fois la commande lancée, pouvoir voir les fichiers qui se suppriment au fur et à mesure.
Existe il une option pour "supprimer TOUT sauf" dans le répertoire courant ?
Merci
Hors ligne
#7 Le 10/10/2012, à 16:09
- nesthib
Re : Supprimer plusieurs dossiers de sauvegarde
Si tu utilises find, il est possible d'exclure des motifs de la recherche, c'est ce que je fais dans mon exemple précédent (« \! -newer référence » exclut les fichiers plus récents que « référence »). Regarde le man de find pour trouver l'option qui correspond à ton critère de recherche et ajoute \! pour obtenir l'inverse.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne