GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo usar rsync desde una PC con Windows a un servidor Linux remoto?

Tengo MinGW (también conocido como 'Git Bash') en Windows 7 y un archivo por lotes que ejecuta rsync para hacer una copia de seguridad de los 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 una pequeña 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á pasando.

cd ../

Esto cambia el directorio un nivel por encima de 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...

Simplemente 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 esto hace
rsync :biblioteca para sincronizar archivos, viene con MinGW
-avzh :a-Archive, v-Verbose, z-Compress, h-Human-readable, estas son las opciones comunes (más:http://linux.die.net/man/1/rsync)
-P :muestra el progreso de los archivos grandes para saber si está congelado o no
--stats :muestra un resumen de cuántos archivos y bytes se transfirieron al final
--timeout=60 :mátalo después de 60 segundos si se atasca
--exclude Omitir archivos/directorios de sincronización, en este caso excluyo un directorio llamado 'Descargas'
. :indica sincronizar todo el contenido de 'Mis documentos' (espere que lo especificado se excluya en la línea de arriba)
my_remote_linux_computer :nombre de mi computadora Linux remota (no es el nombre real;)
@128.95.155.200 :la dirección 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 donde 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 entre comillas dobles.

Cuando empiezo a hacer doble clic en el archivo bat, se me solicita la contraseña de mi computadora Linux remota. Cuando se completa, obtengo un resultado resumido y se me pide que presione cualquier tecla para cerrar.


Si desea una aplicación gratuita que combine cygwin y rsync con una buena interfaz gráfica, eche un vistazo a Deltacopy :

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

  • Copia de seguridad incremental - Copia parte del archivo que está realmente modificado
  • Programador de tareas - Los perfiles en DeltaCopy pueden ejecutarse según un cronograma
  • Notificación por correo electrónico - Los administradores pueden recibir confirmación por correo electrónico sobre transferencias exitosas y fallidas
  • Restauración con un clic - Los archivos respaldados se pueden restaurar fácilmente.
  • Entorno compatible con Windows - No es necesario modificar manualmente los archivos de configuración ni jugar con las opciones de la línea de comandos.

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 aún 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.


Linux
  1. Cómo usar Rsync para sincronizar archivos nuevos o cambiados/modificados en Linux

  2. Cómo usar el comando Linux Rsync (sincronización remota)

  3. Cómo usar rsyslog para crear un servidor de agregación de registros de Linux

  4. Cómo montar un recurso compartido remoto de Windows en Linux

  5. Cómo usar SSH en Linux desde Android

Cómo Rsync archivos entre dos servidores Linux automáticamente

Cómo usar SSH para conectarse a un servidor remoto

Cómo usar los comandos FTP de Linux

Cómo SSH en su servidor Linux desde Windows

Cómo usar Rsync para copiar/sincronizar archivos entre servidores

Cómo usar SSH para conectarse a un servidor remoto en Linux o Windows