J'ai MinGW (également connu sous le nom de «Git Bash» ) sur Windows 7, et un fichier de commandes qui exécute rsync pour sauvegarder des fichiers sur un disque externe sur un ordinateur Linux distant. Voici le fichier batch ( 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 quelques explications ligne par ligne:
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
Cela émet juste un message pour me rappeler ce qui se passe.
cd ../
Cela change le répertoire d'un niveau au-dessus de l'endroit où se trouve le fichier de commandes (en «Mes documents»). Le fichier de commandes se trouve dans un lecteur externe sur mon ordinateur Windows. Je veux synchroniser tout le dossier «Mes documents» sur ce lecteur externe avec un dossier du même nom sur un lecteur externe sur mon ordinateur Linux distant.
REM starting rsync...
Imprime simplement 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 a une bibliothèque rsync intégrée
-c
: pas sûr de ce que cela fait
rsync
: bibliothèque pour synchroniser les fichiers, est livré avec MinGW
-avzh
: a-Archive, v-Verbose, z-Compress, h-Human-readable, ce sont les options courantes (plus: http://linux.die.net/man/1/rsync )
-P
: affichez la progression des gros fichiers donc je sais si elle est figée ou non
--stats
: affichez le résumé du nombre de fichiers et d'octets transférés à la fin
--timeout=60
: tuez-le après 60 secondes s'il est bloqué,
--exclude
omettez les fichiers / répertoires de la synchronisation, dans ce cas, j'exclus un répertoire appelé 'Téléchargements'
.
: indique de synchroniser tout le contenu de 'Mes documents' (attendez-vous à ce que la chose spécifiée soit exclue dans la ligne ci-dessus)
my_remote_linux_computer
: nom de mon ordinateur Linux distant (pas son vrai nom;)
@128.95.155.200
: les adresses IP de mon ordinateur Linux distant, à partir de https://www.whatismyip.com/ (pas mon adresse IP réelle :)
/media/my_remote_linux_computer/LaCie/My\\ Documents
: le chemin d'accès au répertoire sur mon ordinateur Linux distant sur lequel je souhaite recevoir les fichiers. C'est un disque externe.
Notez que l'espace dans "Mes documents" est échappé avec deux barres obliques inverses, et le nom complet et le répertoire de la destination distante sont entourés de guillemets doubles.
Lorsque je commence à double-cliquer sur le fichier bat, on me demande le mot de passe de mon ordinateur Linux distant. Une fois terminé, j'obtiens une sortie récapitulative et je suis invité à appuyer sur n'importe quelle touche pour fermer.
-c
paramètre de bash man: Si l'option -c est présente, les commandes sont lues à partir de la chaîne. S'il y a des arguments après la chaîne, ils sont affectés aux paramètres positionnels, en commençant par $ 0.Si vous voulez une application gratuite qui regroupe cygwin et rsync avec une belle interface graphique, jetez un œil à Deltacopy :
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
la source
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é linux - vous pouvez configurer un moyen pour la machine distante d'accéder aux fichiers locaux, puis rsync de là-bas (jetez un œil au montage des partages smb / cifs).
Je soupçonne qu'il existe encore de meilleures options, mais peut-être que cela aidera un peu.
Mise à jour pour 2017
Avec le sous-système Linux disponible dans Windows 10, vous pouvez probablement installer un serveur ssh & rsync très facilement avec cela et utiliser rsync avec Windows à travers cela.
la source
MinGW a un rsync intégré qui semble fonctionner assez bien. Il a même un mode démon - même si je ne l'ai pas testé. Je recommande MinGW plutôt que cygwin pour plusieurs raisons: MinGW est une installation plus petite et elle est native de Windows.
la source
Lifehacker a un excellent article sur rsync pour le PC .
Il semble que Lifehacker recommande également Cygwin.
Il y a aussi une instruction à ce sujet ici: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html
la source