RSYNC增量备份

RSYNC增量备份,需要2台VPS,让他们之间做数据同步。比如,我们的网站放在VPS A,那么A就是服务器端;用另一台VPS B做增量备份,那么B就是客户端。

这里说的只是单纯的B为A备份,A与B均为linux相同系统。

首先下载服务器端和客户端配置文件:服务器端配置文件[rsyncd.zip][1]—-客户端配置文件[root.zip][2]

【服务器端设定】

首先,将下载回来的服务器端配置文件上传至VPS的/etc目录中,然后对相关文件修改设定(也可以先修改再上传)

①修改/etc/rsyncd/rsyncd.conf共5处

1、address = 1.2.3.4    #第七行修改为服务器IP
2、hosts allow=4.3.2.1   #第二十行修改为客户端IP
3、[zrblog]     #第三十四行自定义命名
4、path = /home/wwwroot    #第三十五行修改同步目录
5、auth users = zrblog     #第三十八行指定用户名

多个目录同步则:

#同步目录2
[dir2]
path = /root/backup
list=yes
ignore errors
#用户名一样
auth users = zrblog
secrets file = /etc/rsyncd/rsyncd.secrets

②修改/etc/rsyncd/rsyncd.secrets用户及密码,并赋予权限(此用户及密码请自行指定)

chmod 600 /etc/rsyncd/rsyncd.secrets
③在服务器上运行rsyns
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
/usr/bin/rsync --daemon --port=12345 --config=/etc/rsyncd/rsyncd.conf

自动运行:vi /etc/rc.d/rc.local 在最好吧上面的增加进去即可!

centos7 这个文件没有执行权限,需要chmod u+x /etc/rc.d/rc.local

运行不正常,查看log解决  log file = /home/wwwlogs/rsync.log

(*如果没有正常启动,请查看日志文件)
1
2
3
bind() failed: Cannot assign requested address (address-family 2)
2016/04/15 13:37:21 [14946] unable to bind any inbound sockets on port 873
2016/04/15 13:37:21 [14946] rsync error: error in socket IO (code 10) at socket.c(555) [Receiver=3.1.2]

如果出现如上信息,则需要把rsyncd.conf中的address改为0.0.0.0

查看是否运行 ss -lntup |grep rsync

【客户端设定】

将下载的客户端配置文件上传至VPS的/root目录,然后对相关文件设定
①修改/root/pass文件,填入密码设定与服务器端一致,并赋予权限。
chmod 600 /root/pass
②修改/root/rs.sh文件,设定rsync路径与服务器端一致,并赋予权限。
rsync -avzP --delete  --password-file=/root/pass zrblog@1.2.3.4::zrblog /home/wwwroot
#上面第一个zrblog为服务器端/etc/rsyncd/rsyncd.secrets中用户名
#1.2.3.4为服务器端IP
#第二个zrblog为服务器端设定的自定义命名
#最后的/home/wwwroot为同步的网站目录
然后,设定权限
chmod +x /root/rs.sh
多个目录则在rs.sh里面增加一行

rsync -avzP ---port=12345 -delete  --password-file=/root/pass zrblog@1.2.3.4::dir2 /root/backup
注意如果加入端口的,则客户端和服务端都要加入端口参数 --port=12345

完成以上设定后,请手动在客户端运行/root/rs.sh,检测是否正常同步成功。
补充一点,如果你使用了iptalbes,请注意rsync需要开放端口873,不然也是没法同步的。
若未能达到你想要的,就根据具体情况修缮。
最后,做一个计划任务,在客户端按时运行同步(使用crontab命令)。
如果一切正常,我们再用cron实现每日自动运行这个脚本

crontab –e

00 03 * * * /root/rs.sh

用mysqldump备份数据库
创建目录mkdir ~/smzdyback
进入目录vi mysqlback.sh
写入下面备份命令即可

mysqldump -h localhost -u数据库用户名 -p数据库密码  数据库名称| gzip >数据库名称-$(date +%Y%m%d).sql.gz

如果不需要日期则:

mysqldump -h localhost -u数据库用户名 -p数据库密码  数据库名称| gzip >数据库名称.sql.gz

一行一个数据库,多个多行即可。

测试.mysqlback.sh
ll查看当前目录已经有数据库的文件了。
如果一切正常,我们再用cron实现每日自动运行这个脚本

crontab –e

00 02 * * * /root/smzdyback/mysqlback.sh

 

新建rc.local文件

大家不用奇怪,ubuntu20.04中 /etc/ 目录下是没有 rc.local 文件的,需要我们手动建立一个。

sh

复制代码
touch /etc/rc.local

chmod 755 /etc/rc.local

echo '''#!/bin/bash''' >> /etc/rc.local

设置开机启动rc-local

sh

复制代码
systemctl start rc-local

systemctl enable rc-local

init 6

重启系统后,通过命令systemctl status rc-local查看服务已经正常开启了。

返回神马指导员首页>>

转载出处标题:RSYNC增量备份

网站链接:https://www.smzdy.com/blog/24608.html

免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”
本站所发布的一切Windows教程,教程文章,破解补丁、注册机和注册信息及软件的文章等图文资源仅限用于学习和研究目的;本站并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。你不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络,不承担任何由于内容的版权、合法性等所引起的争议与法律责任!您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。
本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的。如您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。本站如果侵犯你的利益,携带权利证明请发送邮箱到 s7web888#gmail.com,我们会很快的为您处理。

发表回复

登录后才能评论