无论大网站、小网站,甚至几个简单的静态页面,网站的数据还是比较重要的。老蒋在前几天有分享过"BackUpWordPress插件"这个插件可以定时备份数据库、网站文件到邮箱中,起到定时备份作用。但是,一般的定时插件打包发送到邮箱压缩包不宜过大,否则会导致发送延迟和失败问题,尤其是对于网站文件、图片等,我们不能采用这种方式同步备份。 这里想到采用Rsync定时同步增量备份,这样可以有效的解决即便较大文件的同步备份问题,但是对于一般、普通网站部署稍显有点小题大做。Rsync增量备份比较适合吞吐数据稍微多一点的项目,对于几天才更新一次的网站,也没有多少网友交互内容的个人网站,我们只需要定时手工备份(参考这篇备份网站搬迁数据文章)完全可以解决。 关于Rsync技术文章,老蒋尝试配置有几天时间,一直在测试有效性,虽然网上有很多的文章参考,但是大部分都写得过于简单、复制内容较多,尤其一些目录文件、文件权限配置都不够清晰。老蒋在写这篇文章的时候,已经在2台测试服务器中完整的测试可以运行、实现定时同步增量备份。这里,为了内容的完整性和有效性,不至于看着太累,我稍微啰嗦和详细的拆分2篇文章完稿。
第一、服务器端部署和准备工作1、服务器端 - 我们网站当前所在运行的Linux VPS、服务器,我们取名A服务器。
2、备份服务器端 - 我们需要将网站文件Rsync同步增量备份过去的VPS、服务器,我们取名B服务器。
3、除了我们当前网站所在的服务器之外,还需要至少准备1台B服务器,如果我们希望实现多台同步备份,可以设置C、D、E、F等多台,这里老蒋就不搞这么复杂。
4、建议我们在初次尝试使用的时候,要么做好服务器备份本地工作,要么先在测试机中测试然后再用到正式生产环境中。
第二、安装Rsync运行环境1、CentOS
yum install rsync -y
2、Debian、Ubuntu
apt-get install rsync -y
一般我们的服务器中已经默认安装过Rsync,鉴于确定性的考虑,我们根据环境还是安装。老蒋用的CentOS,所以采用yum命令。
第三、服务器端配置文件参数设置服务器端配置3个配置文件:https://soft.itbulu.com/backup/rsyncd-server.zip
我们先将下面3个配置文件下载到本地,我们需要一一进行修改参数。
1、明确目录
/etc/rsyncd/
我们需要将服务器端配置3个文件上传到上面目录中,默认是没有rsyncd文件夹的,我们手工或者mkdir创建一个。
2、rsyncd.conf
修改rsyncd.conf文件第7行(address)后面的IP地址,这是我们服务器端A服务器IP地址;
3、rsyncd.conf
修改rsyncd.conf文件第20行(hosts allow)后面的IP地址,这是我们备份服务器端B服务器IP地址;
PS:顺带注意到25行的日志文件,我们也要对应的专门的日志目录中,这样统一管理。
4、rsyncd.conf
注意rsyncd.conf文件第35行,这里是需要同步备份网站的目录。34行是模块名称,这里要和后面对应,38行的模块用户名以及39行的模块验证密码文件,这里随便设置,但是后面要对应就可以。40行是排除备份目录,如果我们需要排除某个目录不备份,将#取消,然后将后面备注目录,多个目录用空格隔开。
5、rsyncd.motd
这个文件默认不管,不要做任何修改
6、rsyncd.secrets
模块密码用户配置文件,我们可以看到格式,前面用户名与rsyncd.conf模块用户设置一样,后面密码随意设置都可以,因为在配置备份服务器的时候需要用到一致验证就可以了。
7、设置权限
3个文件配置没有问题之后,我们上传到开始说的目录中,需要授权rsyncd.secrets文件600
chmod 600 /etc/rsyncd/rsyncd.secrets
第四、设置服务器端权限我们在配置好3个文件之后,基本上快完事了,但是我们需要配置当前服务器的权限,包括防火墙,要不文件出不去。
1、开启防火墙
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
如果我们服务器开启防火墙,那就需要给予873端口,设置后我们可以检查iptables -L 看看端口是否启动。实在不行我们就service iptables stop先暂停防火墙,然后等增量备份没有问题之后再有针对的启动。
2、启动rsync
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
启动Rsync,但是我们还需要设置开机启动。
vi /etc/rc.local
将启动脚本添加到/etc/rc.local开机启动脚本文件中。
第五、Rsync增量备份服务器端配置小结1、因为考虑到文章教程,所以老蒋分服务器端和备份服务器端两篇配置来写;
2、这里我们需要注意的就是3个文件的配置,以及600权限设置,以及防火墙的开启。