Centos系统在BT宝塔面板使用Rsync进行数据增量同步图文教程
很多时候我们为了保护自己的网站,都会做网站备份,但是备份一般需要很长的时候,如何能做到两个站点实时同步,有问题的时候自动切换呢?其实这里重点就是两个站的数据同步。这里就手把手教你在两台BT宝塔linux面板的服务器进行定时数据增量同步。
什么?还没安装BT宝塔面板?点击进行下载安装
宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取
一、场景
假设我有一台服务器A(服务端),一台服务器B(客户端),我要把A服务器的某个目录内的数据增量同步到服务器B。就可以使用Rsync来进行同步。
教程在两台服务器上都安装Rsync,A服务器发送,B服务器接收。Rsync检测到文件新增或者文件修改都自动执行同步,每次只同步更改的文件,网络资源占用小。
二、教程开始
A和B两台服务器都放行873端口,Rsync会使用该端口进行通信。
先设置A服务器
1.在A服务器安装Rsync
1 |
yum -y install rsync |
安装速度很快。
2.修改Rsync配置文件
安装完成后我们进入/etc/rsyncd.conf文件修改配置文件。
默认显示的是#开头的说明,我们在下面直接加上配置就行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[cheshirex这个名字可以随便写] path=/www/wwwroot/cdn.banzhuti.com/这个是A服务器要同步文件的目录 use chroot=no max connections=10 read only=yes write only=no list=no uid=root gid=root auth users=root这个是密码文件里的用户名,教程默认root secrets file=/etc/rsync_server.pas这个是密码文件,下一步我们会创建 strict modes=yes hosts allow=允许连接的服务器IP,这里填服务器B的IP地址,也可以填*允许所有IP连接 #hosts deny=1.1.1.1 ignore errors=yes timeout=120 #秒 |
按照我上面的配置文件,自己修改下,直接填入rsyncd.conf。如下图:
3.手动创建密码文件
在/etc目录创建文件rsync_server.pas文件里填用户名:密码,如下图:
4.修改rsync_server.pas文件权限
将权限改为600,用户组root
5.启动A服务器的Rsync服务
1 |
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf |
A服务器上我们就配置完成了。
B服务器设置
1.同A一样,先安装Rsync,这里就不写安装步骤了
2.在/etc目录创建密码文件rsync_client.pas内容里只填密码!如下图:
3.修改rsync_client.pas文件权限和用户组。
权限600,用户组root。跟A服务器的一样。
4.在B服务器宝塔面板上添加计划任务。
1 |
rsync -avztopg --delete rsync://root@这里填A服务器IP/cheshirex /www/wwwroot/cdn.cheshirex.com --password-file=/etc/rsync_client.pas |
执行周期自己选择多久一次,根据实际需求自己选择。首次添加定时任务后,因为文件较多。可以手动点一下执行同步。不影响以后的定时同步。同步结果都可以查看任务日志。
任务参数说明:
-avztopg和–delete
这两个都是同步参数,文末会附上更多的参数说明。a、v、z、topg这是4个参数。
root@这个填A服务器IP/cheshirex
这里是服务器rsync链接用户、A服务器IP地址、A服务器配置文件名
/www/wwwroot/cdn.cheshirex.com
这是B服务器的目录,文件会同步到这个目录
rsync_client.pas
这是B服务器的密码配置文件
三、同步效果查看
A服务器修改文件README.md名字为test.md,会自动删除B服务器的README.md,然后把A服务器的test.md同步过去。
如果提示错误:
1 |
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1659) [generator=3.1.3] |
代表目录内有文件无法同步,可能是A服务器的文件无法读取,也可能是B服务器的文件无法修改。比如宝塔网站目录默认创建的.user.ini这个文件就无法更改。不过不影响其他文件的同步。
附加内容(Rsync同步参数):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
-q,--quiet:suppress non-error messages 静默模式 -v,--verbose:increase verbosity -a,--archive:archive mode; equals -rlptgoD (no -H,-A,-X) 归档模式,相当于-rlptgoD,不包括(no -H,-A,-X);最常用的参数 -H,--hard-links:preserve hard links 保留硬链接 -A,--acls:preserve ACLs (implies --perms) 保留ACL权限 -X,--xattrs:preserve extended attributes 保留扩展属性 -c, --checksum:skip based on checksum, not mod-time & size -r,--recursive:recurse into directories 递归 -l,--links:copy symlinks as symlinks 保留软链接,而不跟踪原文件 -p,--perms:preserve permissions 保留权限 -t,--times:preserve modification times 保留mtime -g,--group:preserve group 保留属组 -o,--owner:preserve owner (super-user only) 保留属主 -D:same as --devices,--specials 保留设备文件和特殊文件 --devices:preserve device files (super-user only) --specials:preserve special files -z,--compress:compress file data during the transfer 输过程中压缩文件数据 -n, --dry-run:perform a trial run with no changes made 干跑测试 -u,--update:skip files that are newer on the receiver 增量同步,跳过比本地较新的文件 --delete:delete extraneous files from destination dirs 删除目标目录多余文件 --progress:show progress during transfer 显示传输进度 |
以上参数,自己考虑是否使用。
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » Centos系统在BT宝塔面板使用Rsync进行数据增量同步图文教程