Instalamos rsync tanto en el cliente como en el servidor:
apt-get install rsync
Como curiosidad comentar que no hay paquete de cliente y paquete de servidor, si no que todo forma parte de un solo paquete.
Copiamos el fichero de configuración de ejemplo a /etc:
cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/
Editamos el fichero:
vi /etc/rsyncd.conf
# sample rsyncd.conf configuration file
# GLOBAL OPTIONS
#motd file=/etc/motd
#log file=/var/log/rsyncd
# for pid file, do not use /var/run/rsync.pid if
# you are going to run rsync out of the init.d script.
pid file=/var/run/rsyncd.pid
#syslog facility=daemon
#socket options=
# MODULE OPTIONS
[sincronizable]
comment = recurso sincronizable
path = /home/usuario/rsync
use chroot = yes
max connections=3
lock file = /var/lock/rsyncd
# the default for read only is yes...
read only = yes
list = yes
uid = nobody
gid = nogroup
# exclude =
# exclude from =
# include =
# include from =
# auth users =
# secrets file = /etc/rsyncd.secrets
strict modes = yes
# hosts allow =
# hosts deny =
ignore errors = no
ignore nonreadable = yes
transfer logging = no
# log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
timeout = 600
refuse options = checksum dry-run
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
Con esto tenemos un recurso llamada sincronizable donde sólo se puede leer, si deseamos que se requiera de una contraseña tan sólo debemos de descomentar la fila secret file y añadir al fichero /etc/rsyncd.secrets una entrada con el formato "usuario":"password".
Una de las cosas que más me a sorprendido de rsync es que se puede arrancar como demonio o desde xinetd como cualquier otro servicio, pero este sólo se puede arrancar como demonio de la siguiente forma:
rsync --daemon --config=/etc/rsyncd.conf
Como podemos comprobar ahora ya se encuentra a la escucha.
debianvmware:/home/jujo# netstat -tuna|grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp6 0 0 :::873 :::* LISTEN
Comprobamos su correcto funcionamiento:
rsync localhost::
sincronizable recurso sincronizable
En cambio si lo hacemos desde /etc/init.d/ como el resto de servicios este no funciona:
/etc/init.d/rsync start
netstat -tuna|grep 873
Si preferimos activarlo desde Xinetd editamos o creamos el fichero /etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
Recordad que si usamos xinetd hay que reiniciarlo:
/etc/init.d/xinetd restart
Ahora desde otra máquina sería tan sencillo como:
rsync -azuv dir_servidor::sincronizable/* "dir local"
Si requiere de contraseña:
rsync -azuv --password-file=/password.rsync -e ssh usuario@dir_servidor:rsync "dir local" PASSWORD
Opciones:
-a preserva todos los atributos de los ficheros
-z comprime
-u update
-v verbose
-n simulación
-e ssh
--delete si en orige no está borra en destino
Si lo queremos sincronizar a través de SSH:
rsync -azuv -e ssh usuario@dir_servidor:path_sincronizable "dir local"
Esta opción es como usar una opción de ssh donde se puede sincronizar, pero realmente no es necesario tener el demonio rsync a la escucha ni como daemon ni por xinetd.
jueves, septiembre 13, 2007
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario