web-dev-qa-db-fra.com

Comment utiliser rsync de Windows PC sur un serveur Linux distant?

Comment utiliser la commande rsync à partir d'un ordinateur Windows 7 local sur un serveur Linux distant?

Quel logiciel est nécessaire sur la machine Windows 7 pour utiliser rsync?

Le serveur Linux distant utilise l’AMI Linux d’Amazon. La commande rsync est déjà activée sur la machine et je peux modifier tout accès nécessaire à la machine.

Cela sert à configurer un serveur Web sur la machine distante, à l'édition sur ma machine locale et à maintenir les fichiers synchronisés.

Je ne veux pas d'accès bidirectionnel entre les machines, je vais seulement éditer des fichiers sur ma machine locale et les maintenir à jour sur la machine distante.

UPDATE:

J'ai installé cygwin sur mon ordinateur Windows 7 et le package rsync . Quelqu'un peut-il fournir les étapes pour configurer la connexion de la machine Windows 7 au serveur Linux à distance?

Dites que je veux avoir un dossier appelé C:\www sur ma machine Windows et le garder à jour\var\www sur ma machine distante, comment puis-je le faire? Ce n'est pas une sauvegarde en soi, il met à jour les fichiers que je modifie avec mon ordinateur local.

20
paradd0x

J'ai MinGW (également appelé 'Git Bash' ) sous Windows 7 et un fichier de commandes qui exécute rsync pour sauvegarder des fichiers sur un lecteur externe sur un ordinateur Linux distant. Voici le fichier de commandes (my_rsync_file.bat)

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60  --exclude Downloads . '[email protected]:/media/my_remote_linux_computer/LaCie/My\ Documents'"

Voici un peu d'explication ligne par ligne:

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)

Cela envoie juste un message pour me rappeler ce qui se passe.

cd ../

Cela modifie le répertoire d’un niveau supérieur à partir de celui où se trouve le fichier de commandes (en "Mes documents"). Le fichier de commandes est dans un lecteur externe sur mon ordinateur Windows. Je souhaite synchroniser tous les dossiers "Mes documents" de ce lecteur externe avec un dossier du même nom sur un lecteur externe de mon ordinateur Linux distant.

REM starting rsync...

Imprime juste un autre message.

bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . [email protected]:/media/my_remote_linux_computer/LaCie/My\\ Documents"

bash: démarre MinGW qui possède une bibliothèque intégrée rsync
-c: pas sûr de ce que cela fait
rsync: bibliothèque pour synchroniser les fichiers, livré avec MinGW
-avzh: a-Archive, v-verbose, z-compressé, h-lisible, ce sont les options courantes (plus: http: //linux.die. net/man/1/rsync )
-P: affiche les progrès pour les gros fichiers, donc je sais s'il est gelé ou non
--stats: affiche un résumé du nombre de fichiers et d'octets transférés à la fin.
--timeout=60: tuez-le après 60 secondes s'il reste bloqué
--exclude omettre les fichiers/répertoires de la synchronisation, dans ce cas, j'exclus un répertoire appelé "Téléchargements"
.: indique la synchronisation de tout le contenu de 'Mes documents' (attendez que l'élément spécifié soit exclu dans la ligne ci-dessus)
my_remote_linux_computer: nom de mon ordinateur Linux distant (il ne s'agit pas du nom réel;)
@128.95.155.200: l'adresse IP de mon ordinateur Linux distant, à partir de https://www.whatismyip.com/ (pas mon adresse IP réelle. adresse :)
/media/my_remote_linux_computer/LaCie/My\\ Documents: chemin d'accès au répertoire de mon ordinateur Linux distant sur lequel je souhaite recevoir les fichiers. C'est un lecteur externe.

Notez que l'espace dans "Mes documents" est échappé avec deux barres obliques inverses et que le nom complet et le répertoire de la destination distante sont entourés de guillemets doubles.

Lorsque je commence, double-cliquez sur le fichier bat, on me demande le mot de passe de mon ordinateur Linux distant. Quand il est terminé, je reçois un résultat résumé et je suis invité à appuyer sur n’importe quelle touche pour fermer.

9
Ben

Une option pourrait être d’installer rsync en installant Cygwin sur Windows. Il y a probablement une approche beaucoup plus directe pour cela.

Une autre option pourrait être de rsync du côté de Linux - vous pourriez configurer un moyen pour que la machine distante accède aux fichiers locaux, puis de rsync à partir de là (regardez le montage des partages smb/cifs).

Je soupçonne qu'il y a encore de meilleures options, mais peut-être que ça va aider un peu.


Mise à jour pour 2017

Avec le sous-système Linux disponible dans Windows 10, vous pouvez probablement installer très facilement un serveur ssh & rsync et utiliser rsync avec Windows par ce biais.

6
James T Snell

MinGW a un rsync intégré qui semble bien fonctionner. Il a même un mode démon - bien que je ne l'aie pas testé. Je recommande MinGW à cygwin pour plusieurs raisons: MinGW est une installation plus petite et elle est native de Windows.

5
A.C. Verbeck

Si vous souhaitez une application gratuite associant cygwin et rsync à une interface graphique Nice, consultez Deltacopy :

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

  • Sauvegarde incrémentielle - Copie une partie du fichier réellement modifié
  • Planificateur de tâches - Les profils dans DeltaCopy peuvent être exécutés selon un calendrier.
  • Notification par e-mail - Les administrateurs peuvent recevoir une confirmation par e-mail en cas de réussite ou d'échec des transferts.
  • Restauration en un clic - Les fichiers sauvegardés peuvent être facilement restaurés.
  • Environnement convivial Windows - Inutile de modifier manuellement les fichiers de configuration ou de jouer avec les options en ligne de commande.
4
Linker3000

Lifehacker a un excellent article sur rsync pour le PC .

On dirait que lifehacker recommande également Cygwin.

Il existe également une instruction à cet égard: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html

2
chrisjlee