Tengo MinGW (también conocido como 'Git Bash' ) en Windows 7 y un archivo por lotes que ejecuta rsync para hacer copias de seguridad de archivos en una unidad externa en una computadora Linux remota. Aquí está el archivo por lotes ( 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'"
Aquí hay un poco de explicación línea por línea:
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
Esto solo emite un mensaje para recordarme lo que está sucediendo.
cd ../
Esto cambia el directorio un nivel hacia arriba desde donde está el archivo por lotes (a 'Mis documentos'). El archivo por lotes está en una unidad externa en mi computadora con Windows. Quiero sincronizar toda la carpeta 'Mis documentos' en esta unidad externa con una carpeta del mismo nombre en una unidad externa en mi computadora Linux remota.
REM starting rsync...
Solo imprime otro mensaje.
bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . [email protected]:/media/my_remote_linux_computer/LaCie/My\\ Documents"
bash
: inicia MinGW que tiene una biblioteca rsync incorporada
-c
: no estoy seguro de lo que hace
rsync
: biblioteca para sincronizar archivos, viene con MinGW
-avzh
: a-Archive, v-Verbose, z-Compress, h-Human-legible, estas son las opciones comunes (más: http://linux.die.net/man/1/rsync )
-P
: muestra el progreso de los archivos grandes, así sé si está congelado o no
--stats
: muestra el resumen de cuántos archivos y bytes se transfieren al final
--timeout=60
: mátalo después 60 segundos si se atasca,
--exclude
omita la sincronización de archivos / directorios, en este caso excluyo un directorio llamado 'Descargas'
.
: indica que se sincronizarán todos los contenidos de 'Mis documentos' (espere que lo especificado se excluya en la línea anterior)
my_remote_linux_computer
: nombre de mi computadora Linux remota (no es su nombre real;)
@128.95.155.200
: las direcciones IP de mi computadora Linux remota, desde https://www.whatismyip.com/ (no es mi dirección IP real :)
/media/my_remote_linux_computer/LaCie/My\\ Documents
: la ruta al directorio en mi computadora Linux remota que quiero recibir los archivos. Es un disco externo.
Tenga en cuenta que el espacio en "Mis documentos" se escapa con dos barras invertidas, y el nombre completo y el directorio del destino remoto están rodeados por comillas dobles.
Cuando comienzo a hacer doble clic en el archivo bat, se me solicita la contraseña de mi computadora Linux remota. Cuando se completa, obtengo un resumen del resultado y se me solicita que presione cualquier tecla para cerrar.
-c
parámetro de bash man: si la opción -c está presente, los comandos se leen de la cadena. Si hay argumentos después de la cadena, se asignan a los parámetros posicionales, comenzando con $ 0.Si desea una aplicación gratuita que incluya cygwin y rsync con una interfaz gráfica agradable, eche un vistazo a Deltacopy :
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
fuente
Una opción podría ser instalar rsync instalando cygwin en windows. Probablemente haya un enfoque mucho más directo para eso.
Otra opción podría ser rsync desde el lado de Linux: puede configurar un medio para que la máquina remota acceda a los archivos locales y luego rsync desde allí (eche un vistazo al montaje de recursos compartidos smb / cifs).
Sospecho que todavía hay mejores opciones, pero tal vez eso ayude un poco.
Actualización para 2017
Con el subsistema Linux disponible en Windows 10, probablemente pueda instalar un servidor ssh & rsync muy fácilmente con eso y usar rsync con Windows a través de eso.
fuente
MinGW tiene un rsync incorporado que parece funcionar bastante bien. Incluso tiene un modo demonio, aunque no lo he probado. Recomiendo MinGW sobre cygwin por varias razones: MinGW es una instalación más pequeña y es nativa de Windows.
fuente
Lifehacker tiene un excelente artículo sobre rsync para PC .
Parece que Lifehacker también recomienda Cygwin.
Aquí también hay instrucciones sobre esto: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html
fuente