前言
Rsync 的配置脚本,应用之处很多,例如 VPS 主机的增量备份,或者,SLB 之间做文件同步等。
例如:服务端 IP:111.111.111.111 ;客户端 IP:222.222.222.222
教程
配置服务器端
下载 rsync 服务器端 rsync-server.zip 文件,解压后,上传到/etc 目录,需要设置 4 个地方:
设置 /etc/rsyncd/rsyncd.conf 中的服务器端 IP(第 7 行)为您 VPS 的 IP
address = 111.111.111.111
设置 /etc/rsyncd/rsyncd.conf 中允许同步的客户端 IP(第 20 行),多 IP 用空格隔开
hosts allow=222.222.222.222
设置 /etc/rsyncd/rsyncd.conf 中的需要同步的目录(第 35 行)
path = /home/wwwroot
设置 /etc/rsyncd/rsyncd.secrets 中用户名及密码,并用命令给予 600 权限
chmod 600 /etc/rsyncd/rsyncd.secrets
设置服务器端
设置 IP、允许客户端 IP 以及用户名密码,设置后服务器端运行 rsync,命令:
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
配置备份客户端
下载 rsync-root.zip 文件,解压后,上传至/root 目录中:
设置 rsync 密码/root/pass 文件(无须用户名),与服务器端一至,并给予 600 权限,命令:
chmod 600 /root/pass
设置 rsync 路径/root/rs.sh,与服务器端一至,并给予可执行权限,命令:
rsync -avzP --delete --password-file=/root/pass [email protected]::vpsmmhome /home/wwwroot
#其中 vpsmmuser 为服务器端/etc/rsyncd/rsyncd.secrets 用户名
#其中 111.111.111.111 为服务器端 IP
#其中 vpsmmhome 为/etc/rsyncd/rsyncd.conf 中 34 行自定义命名
#其中/home/wwwroot 为需要同步的网站目录
chmod +x /root/rs.sh
同步
可以用 crontab 功能,每 1 小时,或每天同步一次数据:
25 */1 * * * /root/rs.sh
//每个小时的第 25 分钟自动运行一次
25 04 */1 * * /root/rs.sh
//每天的 25 分 04 时自动运行一次
常见错误
1.服务器端/etc/rsyncd/rsyncd.secrets 和备份端/root/pass,均需要 600 权限
2.可以手动执行/root/rs.sh,看是否能够同步成功
3.切记,此同步是数据完全同步,会删除掉备份端有,而服务器端没有的文件
4.此为增量备份,只同步修改过或没有的文件,原有文件不会下载,很节省时间和流量
>> 所有文章均基于分享的原则,所有言论均个人观点,请注意全部都不是推荐,是分享!分享!分享!
暂无评论内容