第一、RSYNC同步备份准备工作
我们需要先下载2个文件包:RSYNC服务器端配置文件(VPS数据部分) / RSYNC客户端配置文件(VPS备份主机)
第二、配置服务器端VPS
我们把rsync-server.zip下载的服务器端RSYNC配置文件上传至/etc目录,在上传之前,需要修改几个位置:
A - rsyncd.conf第7行的 address = 11.11.11.11 把IP地址修改成我们的服务器端IP地址
B - rsyncd.conf 第20行修改hosts allow=22.22.22.22修改成我们客户端的IP地址
C - rsyncd.conf第35行修改path = /home/wwwroot/ 修改成我们需要同步的目录
D - 修改 rsyncd.secrets文件中的用户名和密码(用户名需要与下面的E一致,密码随意),然后在SSH中授予600权限
代码如下 | 复制代码 |
chmod 600 /etc/rsyncd/rsyncd.secrets |
E - rsyncd.conf第38行,auth users = loong ,后面的loong用户名需要与上面D中设置的用户名一致
第三、设置服务器端运行rsync
代码如下 | 复制代码 |
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf |
第四、设置客户端配置文件
下载rsync-root.zip文件,修改文件后上传至ROOT目录中
A - 设置/root/pass文件中的密码为客户端ROOT密码,并且也需要授权600权限
代码如下 | 复制代码 |
chmod 600 /root/root/pass |
B - 设置/root/rs.sh中的脚本路径,需要保持与服务器端一致
代码如下 | 复制代码 |
rsync -avzP --delete --password-file=/root/pass laozuoserver@111.111.111.111::vpsmmhome /home/wwwroot/111cn.net/ |
#laozuoserver为服务器端/etc/rsyncd/rsyncd.secrets的用户名一致
#111.111.111.111代表服务器端的IP地址
#vpsmmhome为/etc/rsyncd/rsyncd.conf中自定义用户名
#/home/wwwroot/111cn.net/为需要同步备份的网站目录
C - 设置rs.sh权限
代码如下 | 复制代码 |
chmod +x /root/rs.sh |
第五、测试备份以及定时备份
执行sh rs.sh可以实现测试现在就手工备份,执行的时候需要我们输入/root/pass的密码,然后才可以执行
我们肯定不是需要手工备份,我们需要定时执行备份脚本(输入 crontab -e 然后添加下面一行)。
代码如下 | 复制代码 |
30 */1 * * * /root/rs.sh |
备注:每小时的30分钟自动同步一次,这个时间我们可以自己设置,你也可以设置一天备份一次。
老左在写教程的时候已经测试成功一次,且定时设置,可以确保这篇文章是完整的。RSYNC这篇的备份是定时增备份,如果文件没有变化是不会变动,会变动有变动的文件,保持与客户端一致,同样的我们也可以设置数据库的备份,这样保证文件的同步,一旦客户端VPS出现问题,我们只要切换解析就可以保证网站可以不受影响。