J'utilise rsnapshot, surcouche en perl à rsync qui s'occupe de la
rotation des backups pour avoir un "glissement" des backups selon la
périodicité souhaitée.
Bref, pour les transferts / copies des fichiers, c'est du rsync en
sous-main.
J'avais monté rsnapshot sur une Debian Testing (Etch) sans soucis.
Manque de pot, un disque dur de la machine est mort et j'en ai profité
pour réorganisé un peu le tas de disques durs qui trainait dans la
machine.
J'en ai donc profité pour repasser à une Sarge des familles.
J'ai donc configuré rsnapshot (en récupérant assez largement mon
ficheir de conf d'avant) pour backuper des fichiers locaux et des
fichiers de mon serveur dédié. Ca marche bien, ca transfère, ca "rotate".
Je viens par contre de voir que les fichiers supprimés sur les
répertoires sources ne sont pas supprimés dans les répertoires de
backup (je ne parle pas des snapshots précédents, évidemment). De
mémoire, mon ancien setup ne souffrait pas de ce problème. Une
suppression dans un répertoire source était bien "répliqué" dans le
dernier snapshot.
Bref, un peu de concret:
Soit:
echo Plouf > /home/calimero/data/foo/bar
rsync est invoqué comme suit par rsnapshot (on tourne en root, pour
pas se faire ch*er):
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
/home/calimero/data/ /backup/rsnapshot/daily.0/heimdall/
Je retrouve bien alors:
/backup/rsnapshot/daily.0/heimdall/home/calimero/data/foo/bar
Je supprime alors /home/calimero/data/foo/bar puis je relance la meme
commande rsync. Les options --delete et --delete-excluded devraient
faire qu'en théorie "bar" soit supprimé du répertoire de destination
(c'est du moins la compréhension que j'en ai). Et bien ma foi, que dalle !
/backup/rsnapshot/daily.0/heimdall/home/calimero/data/foo/bar est
toujours là et s'acroche à la vie.
J'ai lu sur les ML rsync qu'il y avait parfois des problèmes lorsque
--delete et --relative sont combinés, mais cela semblait plutôt
apparaître quand on travaillait sur la racine / .
Les versions:
calimero@heimdall:~$ rsnapshot -v | head -1
rsnapshot 1.2.1
calimero@heimdall:~$ rsync --version | head -1
rsync version 2.6.4 protocol version 29
Sinon, /home et /backup sont deux disques durs/FS différents.
Je vais continuer à fouiller, en m'arrachant les cheveux, mais si vous
avez des suggestion je suis preneur.
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home/calimero/data/ /backup/rsnapshot/daily.0/heimdall/
Je ne comprends pas cette commande : tu as un "--delete-excluded", mais aucun "--exclude" ! Ou j'ai loupé quelque chose ?
Calimero
Matthieu Moy wrote:
Calimero writes:
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home/calimero/data/ /backup/rsnapshot/daily.0/heimdall/
Et avec rsync -vvv ?
Tu veux vraiment tout ? ;) Bon, plus sérieusement, les lignes qui me semblent intéressantes:
building file list ... [sender] make_file(/home,*,2) [sender] make_file(/home/calimero,*,2) [sender] make_file(/home/calimero/data,*,2) [sender] make_file(/home/calimero/data/.,*,2) [sender] make_file(/home/calimero/data/fin,*,2) [sender] make_file(/home/calimero/data/info,*,2) ...couic sur quelques centaines lignes: fichiers et sous repertoires... [sender] make_file(/home/calimero/data/home/cuisine,*,2) [sender] make_file(/home/calimero/data/home/cuisine/gaufres.txt,*,2) done server_recv(2) starting pid(574 send_file_list done send_files starting recv_file_name(/home) recv_file_name(/home/calimero) recv_file_name(/home/calimero/data) recv_file_name(/home/calimero/data/.) recv_file_name(/home/calimero/data/fin) recv_file_name(/home/calimero/data/info) ...couic sur les memes... recv_file_name(/home/calimero/data/home/cuisine) recv_file_name(/home/calimero/data/home/cuisine/gaufres.txt) received 112 names recv_file_list done get_local_name count2 /backup/rsnapshot/daily.0/heimdall/ recv_files(112) starting generator starting pid(574 count2 deleting in home/calimero/data/. delete_in_dir(home/calimero/data/.) [generator] make_file(home/calimero/data/fin,*,2) [generator] make_file(home/calimero/data/info,*,2) [generator] make_file(home/calimero/data/home,*,2) delta-transmission disabled for local transfer or --whole-file recv_generator(home,0) send_files(0, /home) recv_generator(home/calimero,1) send_files(1, /home/calimero) recv_generator(home/calimero/data,2) send_files(2, /home/calimero/data) recv_generator(home/calimero/data/.,3) send_files(3, /home/calimero/data/.) recv_generator(home/calimero/data/fin,4) send_files(4, /home/calimero/data/fin) ...couic... recv_generator(home/calimero/data/home,16) send_files(16, /home/calimero/data/home) recv_generator(home/calimero/data/home/cuisine,17) send_files(17, /home/calimero/data/home/cuisine) recv_generator(home/calimero/data/home/cuisine/gaufres.txt,18) send_files(18, /home/calimero/data/home/cuisine/gaufres.txt) home/calimero/data/home/cuisine/gaufres.txt is uptodate ...couic... generate_files phase=1 send_files phase=1 recv_files(home/calimero/data/info/doc) recv_files(home/calimero/data/info/doc/TODO.txt) ...couic... recv_files phase=1 generate_files phase=2 send_files phase=2 send files finished total: matches=0 tag_hits=0 false_alarms=0 data=0 recv_files phase=2 recv_files finished generate_files phase=3 recv_generator(home,0) recv_generator(home/calimero,1) recv_generator(home/calimero/data,2) recv_generator(home/calimero/data/.,3) recv_generator(home/calimero/data/fin,4) recv_generator(home/calimero/data/home,16) recv_generator(home/calimero/data/home/cuisine,17) ... generate_files finished
sent 3090 bytes received 692 bytes 7564.00 bytes/sec total size is 12686160 speedup is 3354.35 _exit_cleanup(code=0, file=main.c, linex9): about to call exit(0)
On voit que la suppression de fichiers semble pas particulièrement active...
@Fabien: j'ai lourdé le --delete-excluded parce que je n'ai pas pour le moment de liste d'exclusion, mais n'a pas d'impact.
Si ca persiste, vais tester sur une de mes debian testing pour voir si avec un rsync plus récent on a le meme comportement.
-- @+ Calimero
Matthieu Moy wrote:
Calimero <calimero.ng@evolutive.org> writes:
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded
/home/calimero/data/ /backup/rsnapshot/daily.0/heimdall/
Et avec rsync -vvv ?
Tu veux vraiment tout ? ;)
Bon, plus sérieusement, les lignes qui me semblent intéressantes:
building file list ...
[sender] make_file(/home,*,2)
[sender] make_file(/home/calimero,*,2)
[sender] make_file(/home/calimero/data,*,2)
[sender] make_file(/home/calimero/data/.,*,2)
[sender] make_file(/home/calimero/data/fin,*,2)
[sender] make_file(/home/calimero/data/info,*,2)
...couic sur quelques centaines lignes: fichiers et sous repertoires...
[sender] make_file(/home/calimero/data/home/cuisine,*,2)
[sender] make_file(/home/calimero/data/home/cuisine/gaufres.txt,*,2)
done
server_recv(2) starting pid(574
send_file_list done
send_files starting
recv_file_name(/home)
recv_file_name(/home/calimero)
recv_file_name(/home/calimero/data)
recv_file_name(/home/calimero/data/.)
recv_file_name(/home/calimero/data/fin)
recv_file_name(/home/calimero/data/info)
...couic sur les memes...
recv_file_name(/home/calimero/data/home/cuisine)
recv_file_name(/home/calimero/data/home/cuisine/gaufres.txt)
received 112 names
recv_file_list done
get_local_name count2 /backup/rsnapshot/daily.0/heimdall/
recv_files(112) starting
generator starting pid(574 count2
deleting in home/calimero/data/.
delete_in_dir(home/calimero/data/.)
[generator] make_file(home/calimero/data/fin,*,2)
[generator] make_file(home/calimero/data/info,*,2)
[generator] make_file(home/calimero/data/home,*,2)
delta-transmission disabled for local transfer or --whole-file
recv_generator(home,0)
send_files(0, /home)
recv_generator(home/calimero,1)
send_files(1, /home/calimero)
recv_generator(home/calimero/data,2)
send_files(2, /home/calimero/data)
recv_generator(home/calimero/data/.,3)
send_files(3, /home/calimero/data/.)
recv_generator(home/calimero/data/fin,4)
send_files(4, /home/calimero/data/fin)
...couic...
recv_generator(home/calimero/data/home,16)
send_files(16, /home/calimero/data/home)
recv_generator(home/calimero/data/home/cuisine,17)
send_files(17, /home/calimero/data/home/cuisine)
recv_generator(home/calimero/data/home/cuisine/gaufres.txt,18)
send_files(18, /home/calimero/data/home/cuisine/gaufres.txt)
home/calimero/data/home/cuisine/gaufres.txt is uptodate
...couic...
generate_files phase=1
send_files phase=1
recv_files(home/calimero/data/info/doc)
recv_files(home/calimero/data/info/doc/TODO.txt)
...couic...
recv_files phase=1
generate_files phase=2
send_files phase=2
send files finished
total: matches=0 tag_hits=0 false_alarms=0 data=0
recv_files phase=2
recv_files finished
generate_files phase=3
recv_generator(home,0)
recv_generator(home/calimero,1)
recv_generator(home/calimero/data,2)
recv_generator(home/calimero/data/.,3)
recv_generator(home/calimero/data/fin,4)
recv_generator(home/calimero/data/home,16)
recv_generator(home/calimero/data/home/cuisine,17)
...
generate_files finished
sent 3090 bytes received 692 bytes 7564.00 bytes/sec
total size is 12686160 speedup is 3354.35
_exit_cleanup(code=0, file=main.c, linex9): about to call exit(0)
On voit que la suppression de fichiers semble pas particulièrement
active...
@Fabien: j'ai lourdé le --delete-excluded parce que je n'ai pas pour
le moment de liste d'exclusion, mais n'a pas d'impact.
Si ca persiste, vais tester sur une de mes debian testing pour voir si
avec un rsync plus récent on a le meme comportement.
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home/calimero/data/ /backup/rsnapshot/daily.0/heimdall/
Et avec rsync -vvv ?
Tu veux vraiment tout ? ;) Bon, plus sérieusement, les lignes qui me semblent intéressantes:
building file list ... [sender] make_file(/home,*,2) [sender] make_file(/home/calimero,*,2) [sender] make_file(/home/calimero/data,*,2) [sender] make_file(/home/calimero/data/.,*,2) [sender] make_file(/home/calimero/data/fin,*,2) [sender] make_file(/home/calimero/data/info,*,2) ...couic sur quelques centaines lignes: fichiers et sous repertoires... [sender] make_file(/home/calimero/data/home/cuisine,*,2) [sender] make_file(/home/calimero/data/home/cuisine/gaufres.txt,*,2) done server_recv(2) starting pid(574 send_file_list done send_files starting recv_file_name(/home) recv_file_name(/home/calimero) recv_file_name(/home/calimero/data) recv_file_name(/home/calimero/data/.) recv_file_name(/home/calimero/data/fin) recv_file_name(/home/calimero/data/info) ...couic sur les memes... recv_file_name(/home/calimero/data/home/cuisine) recv_file_name(/home/calimero/data/home/cuisine/gaufres.txt) received 112 names recv_file_list done get_local_name count2 /backup/rsnapshot/daily.0/heimdall/ recv_files(112) starting generator starting pid(574 count2 deleting in home/calimero/data/. delete_in_dir(home/calimero/data/.) [generator] make_file(home/calimero/data/fin,*,2) [generator] make_file(home/calimero/data/info,*,2) [generator] make_file(home/calimero/data/home,*,2) delta-transmission disabled for local transfer or --whole-file recv_generator(home,0) send_files(0, /home) recv_generator(home/calimero,1) send_files(1, /home/calimero) recv_generator(home/calimero/data,2) send_files(2, /home/calimero/data) recv_generator(home/calimero/data/.,3) send_files(3, /home/calimero/data/.) recv_generator(home/calimero/data/fin,4) send_files(4, /home/calimero/data/fin) ...couic... recv_generator(home/calimero/data/home,16) send_files(16, /home/calimero/data/home) recv_generator(home/calimero/data/home/cuisine,17) send_files(17, /home/calimero/data/home/cuisine) recv_generator(home/calimero/data/home/cuisine/gaufres.txt,18) send_files(18, /home/calimero/data/home/cuisine/gaufres.txt) home/calimero/data/home/cuisine/gaufres.txt is uptodate ...couic... generate_files phase=1 send_files phase=1 recv_files(home/calimero/data/info/doc) recv_files(home/calimero/data/info/doc/TODO.txt) ...couic... recv_files phase=1 generate_files phase=2 send_files phase=2 send files finished total: matches=0 tag_hits=0 false_alarms=0 data=0 recv_files phase=2 recv_files finished generate_files phase=3 recv_generator(home,0) recv_generator(home/calimero,1) recv_generator(home/calimero/data,2) recv_generator(home/calimero/data/.,3) recv_generator(home/calimero/data/fin,4) recv_generator(home/calimero/data/home,16) recv_generator(home/calimero/data/home/cuisine,17) ... generate_files finished
sent 3090 bytes received 692 bytes 7564.00 bytes/sec total size is 12686160 speedup is 3354.35 _exit_cleanup(code=0, file=main.c, linex9): about to call exit(0)
On voit que la suppression de fichiers semble pas particulièrement active...
@Fabien: j'ai lourdé le --delete-excluded parce que je n'ai pas pour le moment de liste d'exclusion, mais n'a pas d'impact.
Si ca persiste, vais tester sur une de mes debian testing pour voir si avec un rsync plus récent on a le meme comportement.
-- @+ Calimero
Arol
"Calimero" a écrit dans le message de news:
Je vais continuer à fouiller, en m'arrachant les cheveux, mais si vous avez des suggestion je suis preneur.
J'ai eu le même problème avec l'option --delete en fait, c'est un problème de version entre rsync client et serveur. En local 2.4.4, en distant 2.4.4, ça ne marche pas. En local 2.4.4, en distant 2.4.6 ou 2.4.8, ça marche.
"Calimero" a écrit dans le message de news:
Je vais continuer à fouiller, en m'arrachant les cheveux, mais si vous
avez des suggestion je suis preneur.
J'ai eu le même problème avec l'option --delete en fait, c'est un problème
de version entre rsync client et serveur.
En local 2.4.4, en distant 2.4.4, ça ne marche pas.
En local 2.4.4, en distant 2.4.6 ou 2.4.8, ça marche.
Je vais continuer à fouiller, en m'arrachant les cheveux, mais si vous avez des suggestion je suis preneur.
J'ai eu le même problème avec l'option --delete en fait, c'est un problème de version entre rsync client et serveur. En local 2.4.4, en distant 2.4.4, ça ne marche pas. En local 2.4.4, en distant 2.4.6 ou 2.4.8, ça marche.
Calimero
Arol wrote:
J'ai eu le même problème avec l'option --delete en fait, c'est un problème de version entre rsync client et serveur. En local 2.4.4, en distant 2.4.4, ça ne marche pas. En local 2.4.4, en distant 2.4.6 ou 2.4.8, ça marche.
C'est du 2.6.4 aux deux bouts. Je testerai sur une Debian Etch avec du rsync plus récent côté client (voire client et serveur si ca foire pareil) dès que je suis de nouveau dans mon LAN (faut vraiment que je mette les machines de test sur APC pour les allumer à distance !).
Je vous tiens au courant de mes élucubrations. ;)
-- @+ Calimero
Arol wrote:
J'ai eu le même problème avec l'option --delete en fait, c'est un problème
de version entre rsync client et serveur.
En local 2.4.4, en distant 2.4.4, ça ne marche pas.
En local 2.4.4, en distant 2.4.6 ou 2.4.8, ça marche.
C'est du 2.6.4 aux deux bouts.
Je testerai sur une Debian Etch avec du rsync plus récent côté client
(voire client et serveur si ca foire pareil) dès que je suis de
nouveau dans mon LAN (faut vraiment que je mette les machines de test
sur APC pour les allumer à distance !).
J'ai eu le même problème avec l'option --delete en fait, c'est un problème de version entre rsync client et serveur. En local 2.4.4, en distant 2.4.4, ça ne marche pas. En local 2.4.4, en distant 2.4.6 ou 2.4.8, ça marche.
C'est du 2.6.4 aux deux bouts. Je testerai sur une Debian Etch avec du rsync plus récent côté client (voire client et serveur si ca foire pareil) dès que je suis de nouveau dans mon LAN (faut vraiment que je mette les machines de test sur APC pour les allumer à distance !).