V0r_X Posté 10 Novembre 2007 Posté 10 Novembre 2007 Salut à tous, Je suis en train de mettre en place une solution de sauvegarde en utilisant rsync. Je me heurte au souci suivant : L'option --delete demande à rsync de supprimer du volume de sauvegarde les fichiers ne se trouvant plus sur le volume d'origine. Mais exite-t-il une option lui demandant de supprimer les fichiers qui ont été supprimés depuis plus de x jours (genre --delete-ceux-ki-sont-effacés-depuis-plus-d-une-semaine ) ? Merci d'avance
stopher Posté 10 Novembre 2007 Posté 10 Novembre 2007 Salut , Pourquoi n'utilises tu pas "dump" qui je trouve est bien plus complet que rsync , gére parfaitement les backup incrementiel sur autant de niveau que tu le souhaite , peut tres bien etre sauvegardé sur une machine distante via ssh , gere aussi la compression et posside une fonction de restauration interactive tres agreable ... Voilà , ca ne repond pas vraiment à ta question , mais te donne une autre solution :-) Good luck Stopher.
V0r_X Posté 10 Novembre 2007 Auteur Posté 10 Novembre 2007 Salut, Merci pour ta réponse. Je ne connais pas dump, mais je vais me pencher dessus, car il semble répondre à ma question. Cordialement
V0r_X Posté 10 Novembre 2007 Auteur Posté 10 Novembre 2007 Après m'être renseigné au sujet de dump, je note qu'il ne permet de sauvegarder que les systèmes de fichier EXT2/3. Or, la sauvegarde que je veux mettre en place est une sauvegarde de volumes réseau, montés sur une machine Linux. je m'explique en prenant un exemple : Un mac partage via samba un volume nommé "donnees". Je monte ce volume sur une machine qui tourne sous Debian. Sur cette même machine, je monte un disque externe. À partir de ce moment, j'aimerais sauvegarder tout ce qui se trouve sur le volume "donnees" vers le dd externe. Enfin, tout fichier effacé depuis plus de 5 jours sur le mac doit l'être également sur le disque. Ceci n'est qu'un exemple plus simple que la réalité (plusieurs volumes réseau sont en réalité montés sur le machine Debian, et tous doivent être sauvegardés de la même manière). Cordialement
V0r_X Posté 10 Novembre 2007 Auteur Posté 10 Novembre 2007 Bon je me réponds à moi-même : piskecèkomsa, t'as qu'à te faire un script bash ki te fera ça ! Je me lance immédiatement là-dessus, et je vous fais part du résultat
V0r_X Posté 11 Novembre 2007 Auteur Posté 11 Novembre 2007 (modifié) ayé ! J'ai terminé ce p'tit script. Je vous le livre, au cas où il pourrait vous servir : #!/bin/bash # Répertoire à sauvegarder # Attention, pas de "/" final SRC_DIR=/mnt/smb/donnees # Répertoire de destination DEST_DIR=/mnt/usb/dd # Nombre de jours au bout desquels supprimer # les fichiers de $DEST_DIR s'ils ont été effacés # de $SRC_DIR DELETE_DELAY=5 # Chemin de rsync RSYNC_BIN=/usr/bin/rsync # Options de rsync RSYNC_OPTS=-a # Première étape : sauvegarde, sans suppression $RSYNC_BIN $RSYNC_OPTS ${SRC_DIR}/ $DEST_DIR # Maintenant : on supprime tous les fichiers de $DEST_DIR # s'ils ne sont plus présents sur $SRC_DIR et que leur dernière # modification date de plus de $DELETE_DELAY jours for i in `find $DEST_DIR -type f`; do dest_dir_size=${#DEST_DIR} src_file=${SRC_DIR}${i:$dest_dir_size} # Si le fichier n'existe plus dans # le répertoire source if [ ! -e $src_file ]; then let "mod_delay=`date +'%s'`-`stat -c '%Z' $i`" let "max_delay=$DELETE_DELAY*24*3600" if [ $mod_delay -gt $max_delay ]; then echo "Suppression de $i" rm -f $i fi fi done Modifié 11 Novembre 2007 par V0r_X
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant