CentOS 7
Ads

Rsync : Sync Files/Directories
2015/01/12
 
Copy files or directories from one location to an another host by rsync.
Basic usage of rsync is here.
If you'd like to set rsync automatically by cron or others, it need to configure like follows because authentication is required without settings. For example, Copy files or directories under the [/root/work] on dlp.srv.world to [/home/backup] on www.srv.world.
+----------------------+          |          +----------------------+
|     dlp.srv.world    |10.0.0.30 | 10.0.0.31|     www.srv.world    |
|                      +----------+----------+                      |
|     /root/work/*     |   ------------->    |     /home/backup/*   |
+----------------------+        copy         +----------------------+

[1] Configure on source host.
[root@dlp ~]#
yum -y install rsync
[root@dlp ~]#
vi /etc/rsync_exclude.lst
# specify files or directories you'd like to exclude to copy

test
test.txt

[2] Configure on destination host.
[root@www ~]#
yum -y install rsync
[root@www ~]#
vi /etc/rsyncd.conf
# any name you like

[backup]
# destination directory for copy

path = /home/backup
# hosts you allow to access

hosts allow = 10.0.0.30
hosts deny = *
list = true
uid = root
gid = root
read only = false
[root@www ~]#
mkdir /home/backup

[root@www ~]#
systemctl start rsyncd

[root@www ~]#
systemctl enable rsyncd

[3] It's OK. Execute rsync on Source Host like follows.
[root@dlp ~]#
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup
# Add in cron if you'd like to run reguraly

[root@dlp ~]#
# for example, run at 2:00 AM in a day

00 02 * * * rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup
 
Tweet