rsync
Lo usamos con ssh (es lo mejor):
- Crear /etc/rsyncd.conf (no hay de entrada, hecho según ejemplo del man).
- Crear /etc/rsyncd.secrets (idem)
- Lanzar demonio en remoto desde inetd (ver man) o:
rsync --daemon
- Creamos llaves privada y publica RSA:
ssh-keygen ssh-copy-id user@host.remoto
- Impedimos tener que meter contraseña cada vez
ssh-agent $SHELL ssh-add
- Usar de remoto a local o viceversa: (Si estamos en ~/prueba, por ejemplo)
rsync -avz -e ssh --delete un.host.remoto:prueba/ . rsync -avz -e ssh --delete . un.host.remoto:prueba/
En Debian, a diferencias de otros sitios, donde permiten downloads sólo por ftp o http, se puede usar rsync. Este es un ejemplo para bajar una imagen de Debian Woody (version "testing").
# rsync --verbose --progress --stats --block-size=8192 \ ftp.fsn.hu::cdimages/debian-unofficial-cd/woody/woody-i386-1.raw .
Otro uso muy interesante es en modo local, como un sustituto de cp avanzado.
Pero hay otros programas que se han usado con para copiar fichero remotosd:
errores estúpidos de rsync
protocol version mismatch - is your shell clean? (see the rsync man page for an explanation) rsync error: protocol incompatibility (code 2) at compat.c(58)
El origen del error fue ejecuata algo tan inocente como calendar en ~/.bashrc del ordenador remoto. La solución estaba en Google:
ssh servidor.remoto.es true > este_archivo_debe_estar_vacio.
Al ejecutar esto, te das cuenta de lo que pasa si el archivo no está vacio (en mi caso: salía el calendario del mes) y la solución es obvia: modoficar .bashrc.