J'ai MinGW (également connu sous le nom de '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 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 une petite explication 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 supérieur à partir de l'endroit où se trouve le fichier de commandes (vers "Mes documents"). Le fichier de commandes se trouve dans un lecteur externe sur mon ordinateur Windows. Je souhaite 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 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 a une bibliothèque rsync intégrée
-c
:je ne sais pas ce que cela fait
rsync
:bibliothèque pour synchroniser les fichiers, 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
:affiche la progression des gros fichiers pour que je sache 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 se coince
--exclude
omettre 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
:l'adresse IP de mon ordinateur Linux distant, depuis 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 où je souhaite recevoir les fichiers. C'est un disque dur 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 démarre, double-cliquez 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.
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
- Sauvegarde incrémentielle - Copie une partie du fichier réellement modifié
- Planificateur de tâches - Les profils dans DeltaCopy peuvent s'exécuter selon un calendrier
- Notification par e-mail - Les administrateurs peuvent recevoir une confirmation par e-mail pour les transferts réussis et échoués
- Restauration en un clic - Les fichiers sauvegardés peuvent être facilement restaurés.
- Environnement convivial pour Windows - Pas besoin de modifier manuellement les fichiers de configuration ou de jouer avec les options de ligne de commande.
Une option pourrait être d'installer rsync en installant cygwin sur Windows. Il existe probablement une approche beaucoup plus directe pour cela.
Une autre option pourrait être de rsync depuis le côté Linux - vous pouvez configurer un moyen pour que la machine distante accède aux fichiers locaux, puis rsync à partir de là (jetez un œil au montage des partages smb/cifs).
Je soupçonne qu'il existe encore de meilleures options, mais cela aidera peut-être 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 très facilement avec cela et utiliser rsync avec Windows à travers cela.