DIY - Utilisation de rsync (20/08/2024)

Raphael3922

Nouveau membre
6 Juin 2022
22
0
1
Bonjour,

J'espère que vous allez et je vous remercie pour toute l'aide et l'apport de connaissance que vous m'apportez au travers de ce forum.

Voici mon "contexte" :
j'ai sur mon réseau "personnel" derrière" une FreeBox Revolution Fibre", trois machines :
  1. Une machine sous Win10 Pro avec l'adresse 192.168.XXX.137 sur laquelle Putty est installé ;
  2. Un Nas DYS (CM Msi 450, Razen5 4600G, 16Go Ram) avec l'adresse 192.168.XXX.146 sur lequel OpenMediaVault 6 avec avec plusieurs disques reparti en plusieurs grappes de Raid 1 (soit par exemple : /dev/md0 ; ...) sur lesquels il y a plusieurs dossiers partages (soit par exemple : /srv/dev-disk-by-uuid-500d88a5-XYZ-VWX-a3ea-05bbb7b60885/Partage ;
  3. Un Nas DYS (CM Msi 450, Razen5 4600G, 16Go Ram) avec l'adresse 192.168.XXX.155 sur lequel OpenMediaVault 6 avec avec plusieurs disques reparti en plusieurs grappes de Raid 1 (soit par exemple : /dev/md0 ; ...) sur lesquels il y a plusieurs dossiers partages (soit par exemple : /srv/dev-disk-by-uuid-500d88a5-ABC-DEF-a3ea-05bbb7b60885/SauvPartage.
Ma question est la suivante :
Je souhaiterais copier en saisissant dans le Putty du Win10 une ligne de commande le contenu du Nas 192.168.XXX.146 /srv/dev-disk-by-uuid-500d88a5-XYZ-VWX-a3ea-05bbb7b60885/Partage ((dossier, et son contenu (fichiers et sous-dossiers)) dans /srv/dev-disk-by-uuid-500d88a5-ABC-DEF-a3ea-05bbb7b60885/SauvPartage. du Nas 192.168.XXX.155 (dans le but de pouvoir en cas de "Crash" du premier Nas, pouvoir restaurer les données après avoir "réparé" le premier Nas (il faudrait copier les données mais, également, les propriétés des dossiers et fichiers).

Ligne de commande proposée :

rsync -a -r --progress "/192.168.XXX.146/srv/dev-disk-by-uuid-500d88a5-XYZ-VWX-a3ea-05bbb7b60885/Partage/" "192.168.XXX.155/srv/dev-disk-by-uuid-500d88a5-ABC-DEF-a3ea-05bbb7b60885/SauvPartage/"


Cette commande vous semble-t-elle correcte ? svp merci
Y-a-t-il une commande à ajouter afin que le transfert ne s'arrête pas si le Window est arrêté (j'ai 1,6To de données à transférer) ou faut il que je me connecte "directement" au premier Nas (192.168.XXX.146 avec un écran, clavier et sourie et j'utilise directement l'invite de commande du Debian de ce Nas ? (et, si oui, comment vérifier que rsync soit installé ou comment l'installer et quelle devrait être ma nouvelle ligne de commande ?) SVP Merci

Amitié

Raphael
 
Hello,

Pourquoi n'utilises-tu pas le service rsync, accessible par l'interface omv ? Je pense que ça répondrait à ton besoin, tu pourras exécuter la synchro par crontab ce qui peut être pratique dans ton cas.
Sinon pour putty, tu peux utiliser tmux par exemple, qui te permettra de lancer rsync et de laisser la copie se terminer même si tu fermes ton terminal. Il faudra l'installer avec Apt et se pencher sur fonctionnement mais c'est assez simple et très pratique pour des tâches un peu longues.
 
Salut,
Il est préférable de ce connecter a la source et de lancer la copie avec ce style de commande :
Code:
rsync -e ssh -av /srv/dev-disk-by-uuid-500d88a5-XYZ-VWX-a3ea-05bbb7b60885/Partage/ <USER>@192.168.XXX.155:/srv/dev-disk-by-uuid-500d88a5-ABC-DEF-a3ea-05bbb7b60885/SauvPartage/

A adapter l'ip du serveur de destination, et l'user ( <USER>) pour la connexion

Dans ta commande que tu propose l'option -r n'est pas nécessaire car incluse dans -a
 
Pour compléter la réponse de @EVO, tu peux :

- Rajouter l'option 'z' -> -avz pour activer la compression lors de la synchronisation
- Si ton port ssh par défaut n'est pas 22, il faut le passer en option comme ceci ssh "-p port" dans la ligne de commande.
Si tu utilise des alias SSH, tu peux simplifier la commande rsync (ssh avec échanges de clés), sinon il faudra taper le mot de passe a chaque fois ou utiliser 'sshpass' pour faire une connexion non interactive.

Je te conseil aussi de ne pas faire pas la 1ere synchro avec Rsync, cela risque d’être trop long.

Perso, je n'utilise plus l'option 'avz' qui génère parfois des erreurs (liens symbolique, droits spécieux sur certains répertoires ou fichiers, utilisateurs/groupes différents coté source et destination en terme de droits...), mais n’empêche pas la synchro en elle même dans la plupart des cas.

Entre deux machines sous OMV, tu ne devraient pas avoir trop de problèmes de droits/utilisateurs avec Rsync.

J'utilise cette séquence la : -rlpgoDvz --no-perms -O qui marche à tout les coups mais c'est parce que j'ai une source et destination hétérogène (Syno-> Debian en Push et Container LXC dans ma DMZ vers Syno en Pull).
Et j'ai aussi par exemple un serveur Gitea qui génère des fichiers spéciaux qui passent pas avec l'option 'avz' (la synchro se fait, mais tu as des erreurs qui sont retournées)
La différence entre le Pull et Push et que tu utilise une URL SSH dans ta ligne de commande pour la source (Pull) ou pour la destination (Push).

Globalement avec des alias SSH mes commandes sont de ce type pour un serveur distant ayant un alias 'incus2' pour du Push :

Bash:
rsync -e "ssh" -rlpgoDvz --no-perms -O /volume_local_source/rep_rsync/ incus2:/volume_local_destination/rep_rsync/

Tu peux rajouter l'option '--dry-run' pour faire une simulation sans rien copier.