Tengo tres cuadros de Windows que están conectados a un cuadro de Linux en mi red de varias maneras (uno local a la red, uno es una computadora portátil y puede o no ser local, y el otro es mi escritorio de trabajo). Actualmente estoy usando git para sincronizar la mayoría de mis cosas entre las cajas (usando la caja de Linux como servidor) y funciona como un campeón.
Ahora, sin embargo, también me gustaría agregar mi colección de MP3 (12 gigas) para sincronizar eficientemente entre cajas. Inicialmente pensé que podría usar git para esto, pero parece que rsync sería una mejor opción ya que realmente no necesito todas las cosas históricas. Como todos mis scripts de administración existentes se ejecutan bajo git bash (en lugar de cygwin), me gustaría poder usarlo desde git bash (MINGW32 es lo que dice en la barra de título de la ventana). ¿Puedo descargarlo en Cygwin y copiarlo o hay una mejor manera de abordarlo? La caja de Linux está ejecutando la última versión de la edición de Ubuntu Server. ¿Debo hacer algo para que rsync funcione correctamente?
Me doy cuenta de que probablemente estoy haciendo esto de una manera un poco más difícil de lo necesario, pero también estoy usando esto como un ejercicio para mejorar mis habilidades en la línea de comandos. ¿Alguna sugerencia?
Puedo usar rsync desde mi shell cygwin, pero no desde msysgit. Intenté copiar rsync.exe de la carpeta bin de cygwin a la carpeta bin de msysgit, pero aún no lo encuentro. ¿Hay algún otro paso que deba hacer para instalarlo allí? Es extraño que recibo un error de que no puede encontrar el archivo, en lugar de darme un error de que falta una de las dependencias del archivo.
rsync.exe
solo hay varias versiones de rsync en.pkg.tar.xz
formatos. Eso podría estar bien, excepto que no puedo instalarapt-get install xz-utils
(sudo apt-get install xz-utils
) porque no puedo instalarsudo
ORapt-get
en Git Bash para Windows :-( y, por lo tanto, no puedo instalarxz-utils
. ¿Hay alguna forma de evitar esto? ¿Hay un enlace más nuevo donde puedo obtenerrsync.exe
, o de alguna manera puedo hacer que Git Bash descomprima este archivo .xz?tar -xf rsync-3.1.3-1-x86_64.pkg.tar.xz
, consigo un montón de mensajes indicando:Cannot open: Permission denied
,Cannot mkdir: Permission denied
,Cannot mkdir: No such file or directory
yCannot open: No such file or directory
para varios archivos / directorios. ¿Quizás Git Bash ya sabe cómo descomprimirxz
archivos? Pero no puede b / e de permisos? No puedo usar ni instalarsudo
. a Git Bash.cd / && tar Jxvf /c/Users/$USR/Downloads/rsync-3.1.3-1-x86_64.pkg.tar.xz
C:\Program Files\Git\usr\bin
archivo exe en la carpeta.Sé que la pregunta no es "Usar rsync para MSYS", pero creo que mencionar esto es relevante:
"MinGW Shell" (anteriormente conocido como "MSYS (Sistema básico)") sí tiene rsync. Estoy usando ese shell / sistema tan a menudo como sea posible, ya que es mucho más pequeño que Cygwin. (Probablemente soy el único que se preocupa por el tamaño de los archivos en estos días).
"Git para Windows" / "Git Bash" podría agregar fácilmente rsync ya que se basa en MinGW / MSYS y se ha mencionado anteriormente en la lista de correo.
¡PD! Si su Shell MinGW no tiene rsync, simplemente ejecute "mingw-get install msys-rsync" para agregarlo.
Actualizado el 25 de marzo de 2016:
Git para Windows ahora usa MSYS2. Y MSYS2 usa "pacman", no "mingw-get", para instalar paquetes. Desafortunadamente, "Git para Windows" no incluye pacman ... Hay dos opciones:
La última opción es mi favorita, pero aún no está optimizada, por lo que la primera opción es probablemente más fácil. Con suerte, se solucionará .
¡PD! No he jugado mucho con MSYS2 / pacman, pero parece muy prometedor.
Actualizado el 7 de agosto de 2019:
Si está utilizando Git para Windows (Git Bash), es mucho mejor simplemente tomar el paquete rsync del repositorio del paquete MSYS2, como se describe en la respuesta anterior .
fuente
$ mingw-get bash: mingw-get: command not found
pacman -S rsync
. En el pasado usé CygWin, pero creo que MSYS2 es increíble, no tengo que ejecutar una interfaz gráfica de usuario para instalar paquetes adicionales.Supongo
git bash
que realmente quieres decirmsysgit
, también conocido como "git para windows". La opción del menú Inicio esgit bash
, que explica el nombre que usó.Primero, tienes razón al descartar git como una opción aquí. Una de las cosas que git no hace bien es manejar archivos binarios, y terminarías con un gran depósito hinchado. Además, dado que no manejarás los cambios, usar la sobrecarga de git me parece una exageración.
En segundo lugar, parece que la pregunta que realmente hace es: "¿Puedo usar rsync desde msysgit / Windows?" La respuesta corta es, no fuera de la caja.
msysgit
es realmente solo la línea de comandos de Windows en términos de forma y función. Dicho esto, tiene dos opciones: descargar una herramienta de terceros para habilitar rsync en su máquina Windows ( Desbordamiento de pila: Rsync para Windows ), o simplemente usar cygwin. Realmente, tienen el mismo resultado, así que depende de usted decidir cuáles funcionan mejor.fuente
msysgit
es la línea de comandos de Windows, que admite ejecutables de Windows. Lo que probablemente esté sucediendo es que ni siquiera puede detectar el archivo como ejecutable. En pocas palabras, cygwin y msysgit ni siquiera son remotamente compatibles.cygiconv-2.dll
,cygwin1.dll
yrsync.exe
de Cygwin a su ruta de msysgit. Nada más (especialmente no ssh.exe). El problema suele ser una incompatibilidad entre Git SSH y Cygwin / rsync SSH. Intenta mantener la misma versión. Todavía tendrá problemas con el/cygdrive/
pero no tengo solución, excepto acd
.Por lo que vale, estaba teniendo problemas similares para que cwRsync funcione en msysgit cuando se dejó caer en la ruta bin, pero después de probar muchas cosas diferentes, finalmente descubrí que simplemente actualizar a la última versión (2.10.2) de Git para Windows solucionó el problema problema.
fuente
rsync es ideal para la sincronización unidireccional. Puede ejecutar rsync bajo cygwin, o para Windows también hay Deltacopy
Si desea tener sincronización bidireccional, eche un vistazo al unísono
Para una herramienta de sincronización de directorios multiplataforma, existe una sincronización que se ejecuta en la mayoría de las plataformas.
fuente