La commande Rsync

Bonjour tout le monde,
je veux faire une sauvegarde de mon répertoire Moodledata, sachant que je suis sous Debian 10.4 et une plateforme Moodle, je veux copier le répertoire Moodledata de mon serveur vers ma machine en local j’ai utilisé la commande SCP mais ils m’ont conseillé d’utiliser la commande Rsync, mais je ne sais pas comment l’utiliser, et est ce que je dois l’installer d’abord, je veux plus de renseignements svp.
Merci
Nora

:mode-pinaillage on
En supposant que le pronom l’ dans la phrase référence bien la commande rsync on n’installe pas une commande mais un paquet qui fournit ladite commande.
Dans le cas présent, le paquet qui fournit la commande rsync s’appelle rsync.
:mode-pinaillage off
Pour l’instant , vous avez déjà à disposition la commande scp qui est fournie pas le paquet openssh-client

fp2@debpacha:~$ dpkg-query --search $(which scp)
openssh-client: /usr/bin/scp
fp2@debpacha:~$ 

Ce paquet fournit aussi la commande ssh_ qui vous permet de vous connecter d’une manière sécurisée à un serveur distant.

La bonne nouvelle est qui si vous savez utiliser ssh et scp, la copie via rsync va utiliser une bonne partie des mêmes fonctionnalités système et réseau que scp et la logique de la ligne de commande est la même

commande -option1 .. Source destination

La grosse différence est le fait que rsync doit être installé sur les deux systèmes source et destination.
Sur votre poste local

sudo apt install rsync debian-goodies
debmany rsync
debmany  openssh-client

Paramétrez votre connexion ssh au serveur distant pur utiliser des clés et que la demande de phrase de passe pour ouvrir lesdites clés soit prise en compte par ssh-agent. Autrement dit, sur votre poste local ssh-add -l doit afficher les empreintes des clés chargées dans l’agent.
Pour cette partie gestion de clés ssh et démarrage d’un agent avec ces clés, je procède à l’ancienne avec keychain et dans mon ~/.bashrc une ligne

eval `keychain --eval id_rsa id_rsa_legacy id_ed25519`

il y a certainement d’autre manière de procéder selon votre environnement de bureau.
Du côté serveur distant, il faut dans le répertoire personnel HOME du compte distant la présence d’un répertoire .ssh avec les bonnes permissions et dans ce répertoire un fichier authorized_keys.
Vous pouvez utiliser ssh-copy-id ou procéder manuellement en vous inspirant sur ce qu’il y a sur votre poste local.
Ceci fait, vérifiez que rsync est bien sur le serveur

ssh user@serveur  which rsync

Une fois tout en place, testez en copiant un fichier du serveur via divers moyens

cd /tmp
ssh user@serveur cat /etc/hosts > hosts_via_ssh
scp -p user@serveur:/etc/hosts ./hosts_via_scp
rsync -a user@serveur:/etc/hosts ./hosts_via_rsync
ls -lApst hosts_*

Pour la copie via rsync de MoodleData faites attention à la présence éventuelle d’un ‹ / › à la fin des paramètres source et destination.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

2 J'aime

Merci pour votre réponse
Bon courage
Nora

Ah bon ?

Une simple connexion ssh est requis, la connexion par clé n’est la que pour le confort.
Surtout si la copie n’est pas régulière et systématiquement effectué manuellement :wink:

1 J'aime

je conseille grsync qui utilise rsync mais plus facile à configurer
et il donne la commande rsync qu’il va utiliser donc on peut l’utiliser pour trouver les commandes sans trop passer par un manuel ou un man

1 J'aime