Aller au contenu

Sujets conseillés

Posté

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 :P ) ?

Merci d'avance

Posté

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.

Posté

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

Posté

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

Posté

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 ;)

Posté (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é par V0r_X

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...