文章导航
小夜好久没写教程了。最近事情比较多,今天正好赶清明节放假。抽2个小时,写个最简单的RSYNC同步的配置文件方法:
- 一共2个压缩包,一个是服务器端,一个是客户端
- 服务器端为数据源VPS,客户端为备份VPS
- 仅支持单向同步,即备份功能
- 服务器端和客户端2个VPS,均为Linux操作系统
配置文件压缩包下载:rsync服务器端配置 - rsync客户端配置
一、首先是配置服务器端,例如IP:111.111.111.111
下载 rsync-server.zip 文件,解压后,上传到/etc目录,需要设置4个地方:
1.设置 /etc/rsyncd/rsyncd.conf 中的服务器端IP(第7行)为您VPS的IP
address = 111.111.111.111
2.设置 /etc/rsyncd/rsyncd.conf 中允许同步的客户端IP(第20行),多IP用空格隔开:
hosts allow=222.222.222.222
3.设置 /etc/rsyncd/rsyncd.conf 中的需要同步的目录(第35行)
path = /home/wwwroot
4.设置 /etc/rsyncd/rsyncd.secrets 中用户名及密码,并用命令给予600权限
chmod 600 /etc/rsyncd/rsyncd.secrets
二、设置服务器端IP、允许客户端IP以及用户名密码,设置后服务器端运行rsync,命令:
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
三、配置备份客户端,例如IP:222.222.222.222
下载 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 vpsmmuser@111.111.111.111::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小时,或每天同步一次数据:
crontab -e
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.此为增量备份,只同步修改过或没有的文件,原有文件不会下载,很节省时间和流量