Rsync et delete?

Je voudrais synchorniser le /home/fakbill de deux machines MAIS je ne veux pas toucher au fichier en .xxx (car ce sont des fichiers de config spécifiques à chaque machine).

rsync -arv --delete /backup/home/fakbill/* /home/fakbill/ fonctionne (au sens de "ça rajoute les nouveaux fichiers sans toucher aux fichiers/répertoires en .xxx ) MAIS ça ne delete rien. Pourquoi?? Comment faire en sorte que ça ne touche pas les fichiers de config en .xxx et que ça efface sur la cible les fichiers qui n’existent plus sur la source???

Salut Fakbill,

J’ai pas essayé, mais je virerais plutot l’étoile de ta source et ferais un exclude des “.*”, genre (en reprise te ta ligne) :

rsync -avz  --delete  --ignore=".*"  /backup/home/fakbill/   /home/fakbill/

Perso, je pars d’un fichier exclude.txt dans lequel je renseigne tous les “.bidule” ou les dossiers “machin” à ignorer.
De cette manière, je synchronise ce qui m’intéresse indépendamment du type ou nom de dossier :

rsync -avz --exclude '/arbo/du/dossier/exclude.txt'   /backup/home/fakbill/   /home/fakbill/

Dis nous si ça peut te convenir :wink:
Edité le 01/06/2014 à 14:48

il me semble que dans ce cas rsync ne delete que les fichiers qui ont été precedemment “créés” par lui-même non ?
genre un fichier qui existait lors du premier sync et n’existe plus au second

:hello: Lithium

Ah bon ? T’es sûr de ça zami ? Il me semblait plutôt qu’il reconstruisait à chaque rsync un “comparatif” source <==> destination

Edit pour Fakbill: J’ai oublié un ’ --delete’ dans la dexieme ligne du post précédent… :riva: (woolf honteux…)
Edité le 01/06/2014 à 14:56

Non j’en suis pas sûr, j’ai fait qu’une supposition ^^

rsync -avz --delete --exclude=".*" bar/ foo
semble faire ce que je veux.
Merci woolf (c’est exclude et pas ignore :wink: mais merci)

You’re welcome :jap:

Oui oui c’est exclude, fô que j’arrete de taper à main levée sans relire… :nexath


[quote="lithium_1_1"] Non j'en suis pas sûr, j'ai fait qu'une supposition ^^ [/quote]

Je crois que c’est Unison a une fonctionnalité de ce type, pour la synchro à deux sens…

my 2 cents :
je ne pense pas que le -z soit super utile pour une copie locale :wink:

oui en effet c’est l’habitude des copies non locales…le z ne sert qu’à tout ralentir en local.


Une autre question : J'ai plusieurs images de virtualbox (donc des gros fichiers binaires) à backuper sur un dd externe usb3. Qu'elles sont les bonnes options pour que rsync fasse ca le plus vite possible?

Avec les options par défaut (-arv), ca irait souvent plus vite de calculer les deux md5 et, s’ils sont différents, de faire un rm suivi d’un cp (on vire tout le fichier et on le copie la nouvelle version) plutot que de laisser rsync faire.
Des trucs du genre --inplace devrait aider non? mais si qlqn connait la bonne combinaison d’options dans ce cas précis je suis preneur.

:hello:

Pour ce que ça vaut (2cents equivalence), j’utilise plutôt les tranferts via “tar” pour les sauvegardes de machines virtuelles. Par définition, une machine virtuelle, et donc son fichier image (sauf machine virtuelle arretée), aura changé depuis le backup précédent, donc le comparatif de fichiers, bein…

Par exemple si ton dossier d’images virtuelles est /virt-images, tu peux glisser dans le script d’arret/sauvegarde/redémarrage :

tar cf - /virt-images | ( cd /dossier_sauvegardes; tar xf -)

ou si en réseau :

tar cpf - /virt-images | ssh user@machine "tar xpf - -C  /dossier_sauvegardes/"
  • options a voir selon besoins.

oui. je crois qu’un bête md5sum suivi d’un scp qui écrasera l’ancien fichier est ce qu’il y a de plus rapide avec le tar.