systemctl start rsyncd
###################################################
EN UBUNTU o DEBIAN
$/etc/init.d/rsync status
###################################################
Ejemplo:
rsync -agEPzv rsync://10.0.0.10/franklin /home/franklin/Documentos/
rsync -agEPzv /Directorio1/MODULO/ /media/DISCODURO/2014/usuarios/
--------------servidor Remoto de copias----->>> recurso local que puede ser un HD
lo que hay en el servidor se copia y sincriniza con el recurso local HD
las copias de seguridad se copian del servidor al HD para luego ser Guardados
rsyncd copia lo que esta en rsync://10.0.0.10/franklin ---->>(equipo servidor remoto) al
/home/franklin/Documentos/ ---->> (directorio local)
------------------------Edicion de Archivo /etc/rsyncd.conf---------------------------------
uid = root
gid = root
max connections = 10
log file = /var/log/rsync.log
pid file = /var/run/rsync.pid
lock file = /var/run/rsync.lock
timeout = 300
[franklin]
path = /home/TDK/HEFESTOS/franklin
read only = no
uid = root
gid = root
list = yes
hosts allow = 10.0.0.13 10.0.0.10
#########################################################
Ejemplo rsync -avHK --delete
Sincronizando elimina archivos del Disco2 que no esten en Disco1
rsync -avHK --delete /Disco1/ /Disco2/
########################################################
Ejemplo rsync para sacar copias de BackupOC
rsync -ay -H rsync://10.0.0.13/cpool /media/discobackuppc/cpool
########################################################
Backups con RSYNC
Todos sabreis a estas alturas que es RSYNC... o aun no?
Pues RSYNC es una herramienta que nos permite tener perfectamente sincronizadas varios repositorios, maquinas, directorios...
Pero dejemonos de introducciones y vayamos al grano.
Una vez tenemos RSYNC instalado (con la herramienta de instalacion de paquetes de nuestra distribucion (urpmi, yast, apt-get, emerge... ) tenemos que configurar el servidor. Podemos configurarlo via XINETD o INETD.
Si lo queremos configurar con XINETD, tendremos que añadir el servicio a nuestro /etc/xinetd.conf, de la siguiente manera:
service rsync
{
instances = 1
port = 873
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
disable = no
}
Basicamente esto quiere decir....
service: nombre del servicio (identificador)
instances: numero de conexiones
port: puerto por el que correrá el servicio (el mismo que en /etc/services)
socket_type: stream para TCP y dgram para UDP basicamente
protocol: protocolo
wait: yes: single-threaded, no: multi-threaded
user: usuario por el que correrá el servicio
server: programa a ejecutar para el servicio
server_args: argumentos que se le pasa al programa (server)
disable: determina si se deshabilita el servicio
Una vez explicado esto, vamos a configurar INETD como alternativa para los que no useis XINETD. Se deberá poner lo siguiente en /etc/inetd.conf:
rsync stream tcp nowait root /usr/bin/rsync rsync --daemon
La explicación de XINETD que he expuesto más arriba nos servirá para entender esto tambien.
Una vez configurado XINETD o INETD procederemos a recargar el XINETD o INETD haciendo como root:
# killall -HUP inetd
En el caso de INETD o:
# killall -HUP xinetd
En el caso de XINETD.
Una vez tenemos nuestro servidor RSYNC corriendo perfectamente, procederemos a configurar nuestros "modulos". Para ello veremos 2 archivos importantes: /etc/rsyncd.conf y /etc/rsyncd.secrets.
Veremos como configurar rsyncd.conf perfectamente con un ejemplo:
#
# /etc/rsyncd.conf
####
# Maximo numero de conexiones simultaneas
max connections = 4
# Fichero a mostrar en cada conexion
motd file = /etc/motd
# Fichero donde se grabarán los mensajes importantes
log file = /var/log/rsync.log
# Tiempo máximo de espera
timeout = 300
# Nombre del modulo (identificador)
[backup]
# Comentario. Esto se mostrará cuando pedimos una lista de los modulos activos.
comment = Backup
# Directorio a "compartir"
path = /home/tanke/backups
# El modulo se podrá leer y escribir
read only = no
# El modulo no se mostrará cuando pidamos una lista de los modulos activos
list = no
# Usuario y grupo con el que se grabarán los ficheros (para conservar los permisos perfectamente)
uid = tanke
gid = tanke
# Usuarios con acceso al modulo
auth users = tanke
# Hosts que tienen permitido acceder al modulo
hosts allow = 192.168.0.1
# Donde guardamos los usuarios/contraseñas de los usuarios. El formato de este archivo es: usuario:contraseña. Con la contraseña en plano.
secrets file = /etc/rsyncd.secrets
# Incrementamos la seguridad enjaulando a los usuarios en el modulo. La desventaja es que no se podrán acceder a symlinks a no ser que sea root.
use chroot = yes
# Antes definimos las maximas conexiones permitidas para el rsync en general. Aqui definimos las maximas conexiones para el modulo.
max connections = 2
# Y para asegurarnos de que esto no se excede creamos un archivo lock.
lock file = /var/run/rsyncd.lock
# Excluimos para la descarga/subida del modulo el fichero .htpasswd
exclude = .htpasswd
Esta es una configuración estandar. Si quieres más información, en la página man (man rsyncd.conf) tienes toda la información necesaria.
Una vez tenemos nuestro modulo configurado, vamos a configurar nuestro archivo de contraseñas:
# echo tanke:tanke >> /etc/rsyncd.secrets
Asi, añadimos al usuario tanke con la contraseña tanke para acceder a los modulos en los que tanke tenga acceso.
Ahora veamos como usaremos nuestro modulo:
Descargar el contenido del modulo
(rsync -rvzP usuario@servidor::modulo dir_donde_lo_guardaremos)
# rsync -rvzP tanke@servidor.org::backup /home/tanke
Subir contenido al modulo
(rsync -avzP directorio_a_subir usuario@servidor::modulo)
# rsync -avzP . tanke@servidor.org::backup
Expliquemos un poco más que acabamos de hacer...
Para bajarnos cosas del modulo ejecutamos rsync con los parametros -rvzP lo cual quiere decir:
-r : modo recursivo, nos bajará todo lo que haya en el directorio y en los directorios que haya dentro.
-v : modo verboso: ampliamos la salida de mensajes, por si hay errores.
-z : comprimir datos
-P : mostramos barra de progreso
Para subir cosas al modulo sin embargo, le pasamos los parametros -avzP:
-a : modo archivo, equivale a:
- Conservar permisos
- Conservar enlaces simbolicos
- Modo recursivo
- Preservar dispositivos
- Preservar dueño y grupo
- Preservar hora de la ultima modificacion
-v : modo verboso
-z : comprimir datos
-P : mostrar progreso
Si quisiesemos conservar totalmente dos repositorios sincronizados, nos interesaria añadir el flag --delete cuando subimos algo al modulo. Esto lo que hará es borrar todo aquello que exista en el directorio remoto pero no exista en el directorio local.
Para más información como siempre mirad las páginas man y sobre todo la página oficial : http://rsync.samba.org
tomado de :
http://www.galpon.org/xoops/modules/sections/index.php?op=viewarticle&artid=5
###########################################################
###########################################################
Nota...!
Para agregar un cliente linux debemos instalar el servicio rsymcd para que se sincronice con nuestro servidor
en el servidor cliente de:
nano -w /etc/rsyncd.conf
uid = root
gid = root
max connections = 10
log file = /var/log/rsync.log
pid file = /var/run/rsync.pid
lock file = /var/run/rsync.lock
timeout = 300
[franklin]
path = /home/TDK/ASMET/000/Herramientasderecuparacion
read only = no
uid = root
gid = root
list = yes
secrets file = /etc/rsyncd.secrets........................archivo para ejecutar aquí estará el pass y el user
auth users = backuppc........................................usuario de salida
hosts allow = 10.0.0.XX.......................................IP del servidor BackupPC
En el servidor cliente de:
nano -w /etc/rsyncd.secrets
backuppc:backuppc.............................................pass y user
###################################################################################################
###################################################################################################
Instalacion Rsync UBUNTU
rsync es una aplicación que se puede encontrar en vuestros sistemas Linux, MacOS o Windows y que permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos carpetas de una misma máquina. Su uso es sencillo y es ideal para mantener al día copias de elementos utilizados por varias personas, hacer copias de seguridad de nuestros datos de manera rápida y segura o mantener actualizada nuestra página web.
Puede funcionar de dos maneras:
Caso 1.El objetivo es instalar un daemon en nuestro servidor que atienda las peticiones de sincronización. Para ello los pasos a seguir son:
1.a) Instalar rsync. En general viene instalado de serie, y más en una versión server de Ubuntu, pero si no fuera así simplemente instálalo con Synaptic o mediante:
1.b) Hay que crear el fichero de configuración del daemon “/etc/rsyncd.conf”. En él definimos las caracterísiticas generales de la conexión, así como las de cada uno de los módulos o, para definirlo mejor, las posibles ubicaciones de sincronización. El fichero tendrá una forma similar a esta
sudo apt-get install rsync
max connections = 2 log file = /var/log/rsync.log timeout = 300 [nombremodulo1] comment = Carpeta de documentos personales sobre Linux path = /carpeta/sobre/la/que/sincronizo/los/documentos/personales read only = yes list = yes uid = usuario1 gid = usuario1 auth users = usuario1 secrets file = /etc/rsyncd.secrets [nombremodulo2] comment = Carpeta de documentos Uhuru path = /carpeta/sobre/la/que/sincronizo/los/documentos/uhuru read only = yes list = yes uid = nobody gid = nogroup auth users = usuario1 usuario2 secrets file = /etc/rsyncd.secrets
Al principio del fichero se definen aquellas características generales de la conexión. En este caso aparecen el número de conexiones simultáneas, donde se va a ubicar el fichero log y el tiempo máximo de espera. En esta parte es posible indicar también algunas de las características que aparecen en los módulos para que todos ellos la hereden (salvo que se redefinan dentro de uno en concreto). Por ejemplo, en el código anterior, podríamos haber escrito en las características generales la configuración de secrets file o la opción list, ya que su valor es común para todos los módulos.
A continuación aparecen la definición y características del módulo. Los elementos más importantes son:
1.c) Crear el fichero “/etc/.rsyncd.secrets”. Este fichero almacena parejas usuario:contraseña, que hacen relación a los usuarios definidos en el fichero “/etc/rsyncd.conf”. En nuestro caso podría ser algo como esto:
usuario1:mipassword1 usuario2:mipassword2
Obviamente este fichero, al ser texto plano, ha de ser protegido contra “mirones”, ya que en caso contrario nuestras contraseñas quedan fácilmente accesibles. Es más rsync ni siquiera funcionará si no asignamos unos permisos adecuados a este fichero. Para ello:
Es decir, el propietario debe ser el root y sólo puede ser leído por él.
1.d) Una vez configurado, sólo nos queda arrancarlo. Para ello lo mejor es utilizar xinetd, otro de los demonios que podemos encontrar en linux y que permite gestionar las conexiones de otros demonios bajo demanda.
Para ello lo primero es instalarlo (si es que no lo tienes aún):
1.e) Configurar xinetd. Si no existe crea el fichero “/etc/xinetd.d/rsync” con el contenido siguiente.
sudo chmod 600 /etc/rsyncd.secrets
sudo apt-get install xinetd
service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
1.f) Comprobar el puerto por el que el servidor rsync escuchará. Para ello ves al fichero”/etc/services” y comprueba que la siguiente línea existe y no está comentada:
1.g) Reinicia el daemon xinetd. Para ello:
1.h) Ya tenemos el servidor funcionado. ¿Como lo usamos?. Sencillo, en local ejecutamos:
rsync 873/tcp
sudo /etc/init.d/xinetd restart
rsync -v --recursive --times --perms --links --delete /mi/carpeta/personal/local rsync://usuario1@miservidor/nombremodulo1
donde estamos haciendo una sincronización recursiva, preservando fechas y permisos de los archivos origen, incluyendo vínculos, borrando archivos que fueron borrados en el directorio origen. Todo ello desde un directorio origen/mi/carpeta/personal/local y utilizando el protocolo rsync contra el servidor miservidor, con el usuario1 y utilizando el módulo nombremodulo1
Caso 2. La segunda opción consiste en la utilización del terminal remoto seguro ssh.
El proceso de creación de clave pública y privada y configuración del terminal escapa de este tutorial.
En este caso no es necesaria la configuración del demonio en el servidor, tan sólo que rsync esté instalado en él. Para ejecutar la sincronización:
rsync -v --rsh=/usr/bin/ssh --recursive --times --perms --links --delete /mi/carpeta/personal/local usuario1@servidor:carpeta/destino/servidor
.....Hasta Pronto....!
Atentamente:
Franklin Campo