[Linux-31] Fichiers non supprimés avec rsync

Claude Micouin mlnglst at free.fr
Dim 22 Juin 22:09:33 CEST 2014


Le jeudi 19 juin 2014 à 07:31 +0200, jdd a écrit :
> Le 18/06/2014 22:58, Claude Micouin a écrit :
> 
> > 	On pourrait penser à l'absence des options --del
> 
> chez moi c'est "--delete"
Il me semble bien l'avoir essayée.
Je le refais.
Aucun changement...

> 
> la page de man:
> 
>              --del                   an alias for --delete-during
>              --delete                delete extraneous files from dest dirs
>              --delete-during         receiver deletes during the transfer
> 
> je ne sais pas si ca change quelque chose
Hélas non...

> 
>   > 	En résumé, on sauvegarde / sur /mnt/Clone_disque_dur/ en excluant les
> > répertoires media proc tmp sys mnt et dev et mettant bien les options
> > --del et --delete-excluded
> 
> "-x" suffirait sans doute
Je n'avais pas vu cette option : elle irait bien pour media, mnt, proc,
sys et dev. Il ne resterait plus qu'à traiter tmp avec --exclude.
Mais ça ne risque pas d'exclure aussi les partitions sda1 et home?
Dans le cas où je sauvegarde partition par partition, elle irait très
bien.


> 
> les # devant tes mount, c'est juste pour le test?
Non, c'est une mauvaise coupure des lignes du script lors du
copier-coller.
En fait, j'ai ceci:
#mount /dev/sdf1/        /mnt/Clone_disque_dur/Ubuntu_13-10/

if  mount  UUID="32966566-b017-4789-a0ef-dcf85dcfa79c"
"$REPERTOIRE_UBUNTU_13_10"  

Je mets le script en PJ : ça sera plus lisible.


> je trouve un peu bizarre le 
> mount de sdf1 sur un répertoire d'un montage précédent,
C'est juste pour garder la même hiérarchie de montage entre l'original
et la sauvegarde. Comme ça la ligne de commande se résume à un seul
rsync   /   /mnt/Clone_disque_dur/


> mais je ne sais pas si 
> c'est un problème,
That is the question...
Si c'est trop bloquant, je ferai la sauvegarde partition par partition.
Mais je voulais quand même trouver pourquoi il y a ce problème sur la
partition racine uniquement.


> sauf que je ne retrouve pas tes chemins déccès là-dedans
> 
> > #mount /dev/sdf4/        /mnt/Clone_disque_dur/
> >
> > #mount /dev/sdf1/        /mnt/Clone_disque_dur/Ubuntu_13-10/
> 
> fichier_test_4 sur sdf4 (/mnt/Clone_disque_dur/usr/local/fichier_test_4)
> 
> semble manque un "Ubuntu_13-10"?
Non non. sdf4 correspondant à sda4, ils sont montés chacun à sa propre
racine : sda4 sur / et sdf4 sur /mnt/Clone_disque_dur/

Idem pour sda2 et sdf2 qui sont sur les home :
/home et /mnt/Clone_disque_dur/home

ainsi que pour sda1 et sdf1 qui sont sur les Ubuntu_13-10:
/Ubuntu_13-10
/mnt/Clone_disque_dur/Ubuntu_13-10


Dans le mail, il y a une erreur. J'avais marqué que les 4 partitions
sda1, sdf2, sdf4 et sdf1 sont montées respectivement sur les
répertoires :
/Ubuntu_13-10/ 
/mnt/Clone_disque_dur/
/mnt/Clone_disque_dur/home/
/mnt/Clone_disque_dur/Ubuntu_13-10/

Il y a une inversion entre les lignes 2 et 3.

> 
> je ne suis pas sur d'avoir tout suivi :-(
Je te comprends. :-)

Merci de ton aide.

@+
-- 
Claude Micouin <mlnglst at free.fr>
-------------- section suivante --------------
#/bin/bash!
#Script pour cloner le disque dur du PC
REPERTOIRE_HOME="/mnt/Clone_disque_dur/home/"
REPERTOIRE_UBUNTU_13_10="/mnt/Clone_disque_dur/Ubuntu_13-10/"


# Détecter la présence des volumes de destination, éviter les erreurs de périphériques  et interrompre l'opération si nécessaire :

#mount /dev/sda1/        /Ubuntu_13-10/
if  mount  /dev/sda1/   /Ubuntu_13-10/
then
echo  "Le DD usb est correctement monté"
else
echo "Attention, le disque de sauvegarde n'est pas présent"
exit
fi

#mount /dev/sdf4/        /mnt/Clone_disque_dur/
if  mount  UUID="51458b66-df35-4cbe-b633-859ece7879ae"  /mnt/Clone_disque_dur/
then
echo  "Le DD usb est correctement monté"
else
echo "Attention, le disque de sauvegarde n'est pas présent."
exit
fi

#mount /dev/sdf1/        /mnt/Clone_disque_dur/Ubuntu_13-10/
if  mount  UUID="32966566-b017-4789-a0ef-dcf85dcfa79c"   "$REPERTOIRE_UBUNTU_13_10"  # /mnt/Clone_disque_dur/Ubuntu_13-10/
then
echo  "Le DD usb est correctement monté"
else
echo "Attention, le disque de sauvegarde n'est pas présent."
exit
fi 


#mount /dev/sdf2/        /mnt/Clone_disque_dur/home/
if  mount  UUID="1ce204ad-cbd8-419c-9fac-27f3dd1878db"   "$REPERTOIRE_HOME"
#/mnt/Clone_disque_dur/home/
then
echo  "Le DD usb est correctement monté"
else
echo "Attention, le disque de sauvegarde n'est pas présent"
exit
fi

# Détecter la présence du répertoire de destination et interrompre l'opération si nécessaire
if [ ! -e "$REPERTOIRE_HOME" ]
then
echo "Attention, le répertoire de sauvegarde n'est pas présent"
exit
else
echo "Le répertoire de sauvegarde est présent."
fi

if [ ! -e "$REPERTOIRE_UBUNTU_13_10" ]
then
echo "Attention, le répertoire de sauvegarde n'est pas présent"
exit
else
echo "Le répertoire de sauvegarde est présent."
fi

#nice -n 19 rsync -av --progress --del    --delete-excluded  --exclude=/media --exclude=/proc --exclude=/tmp --exclude=/sys  --exclude=/mnt --exclude=/dev  /  /mnt/Clone_disque_dur/

nice -n 19 rsync -av --progress --delete    --delete-excluded  --exclude 'media' --exclude 'proc' --exclude 'tmp' --exclude 'sys'  --exclude 'mnt' --exclude 'dev'  /  /mnt/Clone_disque_dur/

#rsync -avc --progress --delete --delete-excluded  --exclude=/media --exclude=/proc --exclude=/tmp --exclude=/sys  --exclude=/mnt  /  /mnt/Clone_disque_dur/

umount /dev/sda1/
umount  "$REPERTOIRE_UBUNTU_13_10"
umount "$REPERTOIRE_HOME"
umount /mnt/Clone_disque_dur/

echo "Sauvegarde terminée. Vous pouvez débrancher votre disque dur."


Plus d'informations sur la liste de diffusion Linux-31