我们很多网友可能较多的还是熟悉虚拟主机,虚拟主机一般商家都会提供定时备份数据,相对运维方面较多的还是交由虚拟主机商。但是虚拟主机商也有很多劣势,于是大家纷纷都会选择云服务器、VPS等。但是大部分网友使用VPS经验并不足,虽然WEB面板我们可以用网上的一键脚本,但是后续运维和备份并不是那么容易。我们可能会想到就备份一次,想不到就忘记。
如果我们希望在备份网站数据或者设置同步备份的话,建议花点时间研究rsync同步备份软件。在这篇文章中,笔者准备利用当前centos系统安装rsync实现自动定时备份。
第一、准备工作
服务器A:生产换成服务器
服务器B:远程备份备用服务器
第二、服务器A配置记录
1、安装rsync
yum install rsync -y
一般rsync默认在源中,如果还没有我们需要升级到最新yum update -y
2、加入开机启动
echo 'rsync --daemon' >> /etc/rc.d/rc.local
3、设置rsync密码
echo 'cnbanwagong:cnbanwagong.com' > /etc/rsyncd.scrt
chmod 600 /etc/rsyncd.scrt
红色是用户名,蓝色是密码。密码设置后后面需要用到对接验证。
4、配置文件(/etc/rsyncd.conf)
uid = root
gid = root
use chroot = no
read only = yes
max connections = 10
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log #记录日志,如果不需要就添加#
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[www]
path = /home/wwwroot/
comment = cnbanwagong.com
ignore errors
read only = yes
list = no
auth users = andy
secrets file = /etc/rsyncd.scrt
#exclude = * #不需要备份的目录
#exclude from = /etc/rsync_exclude.txt #不备份的目录
hosts allow = 备份备用服务器B的IP地址
hosts deny = *
5、重启脚本
/root/rsyncd_restart.sh
添加:
kill -9 `cat /var/run/rsyncd.pid`
rm -f /var/run/rsyncd.pid
rm -f /var/run/rsyncd.lock
rsync --daemon
然后设置权限:
chmod 600 /root/rsyncd_restart.sh
chmod +x /root/rsyncd_restart.sh
这样,我们可以自己使用/root/rsyncd_restart.sh命令来重启rsync。其实,我们可以直接备份对应网站目录文件,如果文件嫌麻烦,我们可以在生产服务器A用脚本打包备份,然后再备份到B服务器。
第三、备份备用服务器B配置
1、安装rsync
yum install rsync -y
一般rsync默认在源中,如果还没有我们需要升级到最新yum update -y。最好用同一个系统,这样就不是那么麻烦。
2、接入A生产服务器密码
echo 'cnbanwagong.com' > /etc/rsync.pass
chmod 400 /etc/rsync.pass
还记得在之前设置的密码吗?
3、创建备份文件夹
mkdir -p /home/wwwroot/backup
4、测试备份
rsync -avzP --delete --password-file=/etc/rsync.pass A服务器设置的记得吗@A生产服务器密码::www /home/wwwroot/backup/cnbanwagong.com/
5、设置定时备份
crontab -e
添加命令:
00 01 * * * rsync -avzP --delete --password-file=/etc/rsync.pass A服务器设置的记得吗@A生产服务器密码::www /home/wwwroot/backup/cnbanwagong.com/ > /dev/null 2>&1
根据自己需要定时的期限,然后设置定时备份。