宝塔linux环境安装Rsync进行数据增量同步

2025-12-12 技术教程 0 900
5 金币
VIP折扣
    折扣详情
  • 星钻永久会员

    免费

  • 钻石会员

    免费

  • 白金会员

    免费

开通会员免费下载
立即下载 开通会员
详情介绍

场景:

假设我有一台服务器A(服务端),一台服务器B(客户端),我要把A服务器的某个目录内的数据增量同步到服务器B。就可以使用Rsync来进行同步。

教程在两台服务器上都安装Rsync,A服务器发送,B服务器接收。Rsync检测到文件新增或者文件修改都自动执行同步,每次只同步更改的文件,网络资源占用小。

教程开始:

A和B两台服务器都放行873端口,Rsync会使用该端口进行通信。

先设置A服务器

1.在A服务器安装Rsync

centos系统安装:

yum -y install rsync

ubuntu系统安装:

1.ubuntu  14.04默认已安装rsync,rsync服务默认不是启动的,我们要修改下面的文件。

sudo vim /etc/default/rsync
RSYNC_ENABLE=true   #false改true

修改配置文件

sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc#复制rsyncd.conf到/etc目录到/etc目录

2.修改Rsync配置文件

安装完成后我们进入/etc/rsyncd.conf文件修改配置文件。

[cheshirex这个名字可以随便写]
path=/www/wwwroot/这个是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。如下图:

宝塔linux环境安装Rsync进行数据增量同步

3.手动创建密码文件

在/etc目录创建文件rsync_server.pas文件里填用户名:密码,如下图:

  宝塔linux环境安装Rsync进行数据增量同步

4.修改rsync_server.pas文件权限

将权限改为600,用户组root

宝塔linux环境安装Rsync进行数据增量同步

宝塔linux环境安装Rsync进行数据增量同步

5.启动A服务器的Rsync服务

/usr/bin/rsync --daemon --config=/etc/rsyncd.conf

A服务器上我们就配置完成了。

B服务器设置

1.同A一样,先安装Rsync,这里就不写安装步骤了

2.在/etc目录创建密码文件rsync_client.pas内容里只填密码!如下图:

宝塔linux环境安装Rsync进行数据增量同步

3.修改rsync_client.pas文件权限和用户组。

权限600,用户组root。跟A服务器的一样。

4.在B服务器宝塔面板上添加计划任务。

rsync -avztopg –delete rsync://root@这里填A服务器IP/cheshirex /www/wwwroot/ –password-file=/etc/rsync_client.pas

宝塔linux环境安装Rsync进行数据增量同步

执行周期自己选择多久一次,根据实际需求自己选择。

首次添加定时任务后,因为文件较多。可以手动点一下执行同步。不影响以后的定时同步。

同步结果都可以查看任务日志。

任务参数说明:

-avztopg和–delete
这两个都是同步参数,文末会附上更多的参数说明。a、v、z、topg这是4个参数。

root@这个填A服务器IP/cheshirex
这里是服务器rsync链接用户、A服务器IP地址、A服务器配置文件名

/www/wwwroot/
这是B服务器的目录,文件会同步到这个目录

rsync_client.pas
这是B服务器的密码配置文件

同步效果查看:

A服务器修改文件README.md名字为test.md,会自动删除B服务器的README.md,然后把A服务器的test.md同步过去。

如果提示错误:

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同步参数):

-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 显示传输进度

以上参数,自己考虑是否使用。

付费下载
当前内容需要支付5 金币才能下载
VIP折扣
    折扣详情
  • 星钻永久会员

    免费

  • 钻石会员

    免费

  • 白金会员

    免费

收藏 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

相关文章

猜你喜欢
发表评论
暂无评论