rsync配置脚本实现VPS增量备份及文件同步

一个最简单的rsync配置脚本,应用之处很多,例如实现VPS增量备份或者SLB之间做文件同步等。

配置文件压缩包下载:rsync服务器端配置 – rsync客户端配置

一、首先是配置rsync服务器端,例如IP:1.2.3.4

下载 rsync-server.zip 文件,解压后,上传到/etc目录,需要设置4个地方:

1.设置 /etc/rsyncd/rsyncd.conf 中的服务器端IP(第7行)为您VPS的IP

address = 1.2.3.4

2.设置 /etc/rsyncd/rsyncd.conf 中允许同步的客户端IP(第20行),多IP用空格隔开:

hosts allow=5.6.7.8

3.设置 /etc/rsyncd/rsyncd.conf 中的需要同步的目录(第35行)

path = /home/wwwroot

4.设置 /etc/rsyncd/rsyncd.secrets 中用户名及密码,并用命令给予600权限

chmod 600 /etc/rsyncd/rsyncd.secrets

二、设置rsync服务器端IP、允许客户端IP以及用户名密码,设置后服务器端运行rsync,命令:

/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

三、配置rsync备份客户端,例如IP:5.6.7.8

下载 rsync-root.zip 文件,解压后,上传至/root目录中:

1.设置rsync密码/root/pass文件(无须用户名),与服务器端一至,并给予600权限,命令:

chmod 600 /root/pass

2.设置rsync路径/root/rs.sh,与服务器端一至,并给予可执行权限,命令:

rsync -avzP --delete  --password-file=/root/pass cnjoelcom@1.2.3.4::cnjoelcomhome /home/wwwroot
#其中cnjoelcom为服务器端/etc/rsyncd/rsyncd.secrets中用户名
#其中1.2.3.4为服务器端IP
#其中cnjoelcomhome为/etc/rsyncd/rsyncd.conf中34行自定义命名
#其中/home/wwwroot为需要同步的网站目录

chmod +x /root/rs.sh

四、可以用 crontab 功能,每1小时,或每天利用rsync同步一次数据:

crontab -e

01 * * * * /root/rs.sh
//每个小时的第1分钟自动运行一次
00 04 * * * /root/rs.sh
//每天的4点自动运行一次

五、rsync常见错误解答

1.服务器端/etc/rsyncd/rsyncd.secrets和备份端/root/pass,均需要600权限
2.可以手动执行/root/rs.sh,看是否能够同步成功
3.切记,rsync同步是数据完全同步,会删除掉备份端有,而服务器端没有的文件
4.此为rsync增量备份,只同步修改过或没有的文件,原有文件不会下载,很节省时间和流量


未经允许不得转载:便宜VPS网 » rsync配置脚本实现VPS增量备份及文件同步