«Rsync» de distant à local


14

Disons que j'ai 2 machines:

  • local (centos)
  • à distance sur IP: 123.123.123.123 port ssh 456 (serveur ubuntu)

et je veux synchroniser mon dossier distant /home/wolfy/pyavec mon dossier local /home/cavo/python.

Cela peut-il être fait avec rsync? Peux-tu me donner un exemple?

Réponses:


18

Essaye ça:

rsync -ave 'ssh -p 456' /home/cavo/python/ wolfy@123.123.123.123:/home/wolfy/py/ 

Notez que les barres obliques de fin sur les chemins sont très importantes, elles signalent que vous synchronisez un répertoire avec un répertoire. Le -ecommutateur permet de rsyncsavoir qu'il va utiliser le sshtransport, et pendant que nous spécifions le transport, nous indiquons également à ssh quel port il devra utiliser pour parler au site distant. Ensuite, le nom d'utilisateur et l'adresse IP de l'hôte distant sont spécifiés comme faisant partie de la cible.


fonctionne parfaitement :) merci pour une explication détaillée!
Wolfy

1
La barre oblique de fin n'est importante que sur la source, pas sur la destination.
enzotib

2
Je suis confus, cette copie du local vers le distant n'est-elle pas? Selon stackoverflow.com/a/9090859/277267, c'est l'inverse.
Daniel F

@DanielF Oui, c'est le cas. Je suppose que c'est ce que le PO voulait dire par sa question. Notez son utilisation de «avec» et la formulation non conventionnelle. Si vous voulez vraiment synchroniser un répertoire distant avec un répertoire local, vous pouvez inverser les arguments. Source d'abord puis cible.
Caleb

@Caleb Oui, mais le titre indique "de distant à local".
Daniel F

0

Pour ceux d'entre nous qui aiment la solution détaillée.

sudo rsync --ignore-existing --recursive username@domain:/location/to/files/ files/

N'oubliez pas que vous avez toujours un homme avec vous.

$ man rsync
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.