Configurar Rsync linux

¿En qué podemos ayudarte?
< Regresar
Estás aquí:
Imprimir

Instalación rsync server (quien recibira los datos)

CentOS7

#yum -y install rsync

Ubuntu 20.04

#sudo apt-get install rsync

Se crea o edita el siguiente archivo /etc/rsyncd.conf

#sudo nano /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.
# The init.d script does its own pid file handling,
# so omit the “pid file” line completely in that case.
# pid file=/var/run/rsyncd.pid
#syslog facility=daemon
#socket options=

# MODULE OPTIONS

[Nombre_del_modulo]

comment = Importa sitio “Nombre del sitio” del server de desarrollo
path = /var/www/pub
use chroot = no
# max connections=10
lock file = /var/lock/rsyncd
# the default for read only is yes…
read only = false
list = yes
uid = root
gid = rot
# exclude =
# exclude from =
# include =
# include from =
# auth users =
# secrets file = /etc/rsyncd.secrets

strict modes = yes
hosts allow = server.com
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 *.tb

reiniciar demonios.

#systemctl restart rsyncd

En el equipo donde esta la información que se quiere exportar lanzar el comando rsync

#rsync -v -azrogL –delete –fake-super –super –chown=uid:gid -e ssh -i ~/.ssh/key.priv path_origen/ root@server.com::modulo

Donde:

 

-fake-super y -super se requieren para poder tener los privilegios de root al manejar los directorios.

 

-chown debe llevar el numero de usuario y grupo del servidor destino que tiene los privilegios sobre los directorios(deben ser los numeros y no los nombres).

 

-i es la llave privada del ssh del root.

 

path_origen el path que se pretende copiar lleva “/” al final.

 

Modulo es el que se definio en la configuración del server rsync.

 

  1. nano /etc/rsync_exclude.lst (los archivos y directorios a excluir,uno por linea)
    • private
    • ssl

En el equipo destino

  1. yum -y install rsync
  2. nano yum -y install rsync
    • [corazondeangel]
      path = /var/www/corazondeangel.net
      hosts allow = mxserver1.kpt.com.mx
      hosts deny = *
      list = true

      uid = root
      gid = root
      read only = false
  3. systemctlstart rsyncd
  4. systemctl enable rsyncd

En el equipo origen

rsync -azvr --exclude-from=/etc/rsync_exclude.lst /var/www/clients/client2/web10/ www.corazondeangel.net::corazondeangel

notar que despues del web10 hay una / significa que solo copiara el contenido de lo contrario tratara de crear web10 en el destino si es que no existe.

Esta copia pone privilegio del usuario origen o de root, es conveniente checar el owner y el grupo al final de la copia

Table of Contents

Deja un comentario