【教程帖】文件同步工具使用教程
使用场景:1、两台或以上服务器做负载均衡,需要做网站数据的同步时
2、需要做数据镜像时
3、其它需要文件实时同步的项目中
4、数据备份
环境说明:
接收端服务器IP:192.168.247.138
发送端服务器IP:192.168.77.200
操作系统:CentOS 7.9.2009 x86_64(Py3.7.9)
面板版本:8.0.2
插件:文件同步工具 3.9.2
插件说明:基于rsync开发的文件同步工具,可定时或实时的发送文件和更新文件,也可用于配置负载均衡、集群、异地备份等场景
注意事项:防篡改中开启防护的目录数据是不能被同步的。所以使用文件同步工具是注意不要开启防护或者临时关闭防护
更新日志:
更新内容( V3.9.2 ):
1. 创建本地同步时,增加选择过滤模板的功能2. 优化排除规则,出现同名时可以选择覆盖
3. 修复rsync全局配置中的ip白名单在添加设置后,无法清空
4. 修复部分情况下监听服务报错
安装步骤:
登录宝塔面板-->软件商店-->【关键词搜索:宝塔数据同步工具】或【点击专业版插件】-->宝塔数据同步工具-->安装
服务器数据同步(用于服务器间数据同步)
一、rsync 连接方式
设置接收任务 (在接收文件的服务器(以下简称“接收服务器”)创建)[*]打开接收服务器上的宝塔数据同步工具:宝塔数据同步工具-->接收配置
[*]全局配置
宝塔数据同步工具-->接收配置-->全局配置,
需要注意的是在创建接收任务前,需要在服务器的防火墙中放行数据同步服务端口。否则会导致发送数据的服务器无法连接接收服务器而导致创建发送任务失败。如果是云服务器还需要到服务器后台控制台的安全组中放行端口,默认端口为:873。
[*]创建接收任务
输入框中填写相对应用户名、密码,以及同步目录地址,密钥自动生成。资料填写无误后,点击提交即可,如图
提交后,会生成对应接收任务并弹出接收密钥对话框,并且服务会自动开启。如图
注意保存密钥在创建发送任务中会用到。
接收端服务器设置完成
设置 rsync 连接方式的发送任务 (在发送服务器创建)[*]打开发送数据的服务器上的宝塔数据同步工具:宝塔数据同步工具-->发送配置
[*]创建发送任务
输入框中填写之前创建的接收配置的信息(根据自行爱好使用rsync的验证方式:密钥或者虚拟帐号)及同步目录地址。资料填写无误后,点击提交即可,如图
验证方式:密钥 (rsync 密钥)、帐号 (rsync虚拟帐号) 点击图片可以看大图
说明:
连接方式 rsync:通过 rsync 虚拟帐号方式传输文件
同步方式:增量或者完全
增量:数据更改/增加时同步,且只追加和替换文件
完全:保持两端的数据与目录结构的一致性,会同步删除、追加和替换文件和目录
服务器IP:填写上对应的接收数据的服务器ip
同步目录:需要同步文件的存放目录
验证方式:密钥 (rsync 密钥)
接收密钥:接收配置中生成的密钥
验证方式:账号 (rsync 虚拟帐号)
用户名:接收配置中设置的用户名
密码:接收配置中设置的密码
端口:接收服务器全局配置中的端口,默认为:873 防火墙需要开放端口
同步周期:定时同步(自定义备份时间),实时备份(实时同步备份文件)
压缩传输:数据在同步时是否压缩文件
限速:限制上传的速度,防止因同步数据导致带宽跑高
延迟:延迟时间周期内仅记录不同步,到达周期后一次性同步数据,以节省开销
[*]确认方向
提示“正常”,点击“执行同步”。
如果同步方式是“完全”模式。接收端存在文件将提示异常:
根据提示解决方案解决,解决后再设置同步:
1.请手动清理接收数据方的目录
2.接收数据方重新选择一个空目录
3.将同步模式改为增量同步
[*]创建发送任务成功,会自动同步文件。如图
rsync 连接方式 发送任务的名称是直接读取的接收端的用户名,所以接收端不要使用相同的名称。
同步方式为 “增量” 时两边的文件可以不一致。可以看到接收端多一个文件 (点击图片可以看大图)
同步方式为 “完全” 时两边的文件一致。(点击图片可以看大图)
注意:
同步方式为 “完全”时:在创建任务后,第一次同步完成后,如果在接收端建立了文件后也会不一致,点击任务的“同步”按键后会以发送端为准,会删除接收端的文件。
建议同步方式选择“完全”时,同步完成后修改成“增量”同步方式。避免文件数据的丢失。
[*]设置过滤器
用于排除同步目录中不需要同步的文件、目录,如图
[*]查看日志
实时日志是查看自动同步的日志。(同步周期:实时同步或者定时同步)
任务中的日志是查看手动同步的日志
发送端服务器设置完成、rsync 连接方式设置完成
二、ssh 连接方式
[*]设置 ssh 连接方式的发送任务 (仅在发送服务器创建)
验证方式:ssh帐号、ssh密钥
ssh 连接方式请根据自行实际使用选择使用ssh帐号还是ssh密钥,
如果创建任务后更换了ssh用户名与密码、ssh密钥。这里也需要更改为最新的,否则将无法验证导致同步失败。
与rsync不同的是 ssh 连接方式 是直接使用操作系统的用户无需建立rsync密钥与rsync虚拟帐号。
也就是无需设置“接收配置”,无需在接收端安装宝塔数据同步工具。
ssh 连接方式设置完成
说明:
名称 :名称用于标识同步任务
接收目录 :接收端服务器的目录
验证方式:密钥 (ssh 密钥)
接收密钥:登录操作系统用户的ssh终端密钥
验证方式:账号 (ssh帐号)
用户名:登录操作系统用户的ssh的用户名
密码:登录操作系统用户的ssh用户的密码
端口:接收服务器的SSH端口。默认为:22
其他的与rsync 连接方式相同
建议使用root用户或者有root权限的用户,可以避免权限问题
如何查看 ssh用户的密码与 ssh密钥?
如果是服务器提供商的,请到登录相关控制台查看密码或者ssh密钥。
(注意:如果有使用命令行或者宝塔面板更改过此方法失败,因为使用命令行或者面板更改不会同步到服务器提供商的控制台)
面板查看密钥:安全界面-->SSH管理-->SSH密钥登录-->查看密钥。如果为空,需要重新开关一次,此操作会将更新旧密钥,如有其他地方使用,请使用新的密钥进行登录。
命令行查看密钥:cat /root/.ssh/id_rsa
经测试支持ed25519、rsa加密方式。
无法通过验证?请查看ssh日志进行排查错误:
# Centos
tail /var/log/secure
# Debain/Ubuntu
tail /var/log/auth.log
二、本地数据同步(用于数据备份)
[*]创建本地数据同步
示例:如将默认的建站目录/www/wwwroot/目录做个数据备份,备份至/www/backup/wwwroot目录下。
任务名定义为wwwroot-backup。如图
资料填写无误后,点添加即可。如图
三、操作日志
通过操作日志可以查看宝塔数据同步工具的详细操作记录。操作记录记录了操作的具体事项、操作时间,如图
宝塔数据同步工具仅支持文件、目录同步。MYSQL/MARIADB同步请使用“MySQL主从复制(重构版)”插件
PS:本帖子仅作为教程帖子,不处理问题;如使用此插件过程存在问题或者疑问,可在论坛新开帖子或者在QQ交流群:620695507中反馈下问题
注意:
如果使用内网连接时,获取的是外网IP,可能是无法获取到您的内网IP地址,如图
可以到下面文件里修改成您实际使用的内网IP地址
/www/server/panel/plugin/rsync/local_address
然后保存,重新复制内网连接到接收端 发送端和接收端都需要购买这个插件的授权么? 宝塔用户_prdsdg 发表于 2022-12-11 22:30
发送端和接收端都需要购买这个插件的授权么?
是的哦 【2023-01-23 10:26:07】
rsync error: requested action not supported (code 4) at checksum.c(615)
这个是什么原因? CCCCCCCCC 发表于 2023-1-23 10:34
【2023-01-23 10:26:07】
rsync error: requested action not supported (code 4) at checksum.c(615)
您好,您遇到问题可单独发帖询问,您可尝试将两台数据同步的版本卸载安装到3.6版本再尝试同步数据 堡塔运维盏尽 发表于 2023-1-23 11:03
您好,您遇到问题可单独发帖询问,您可尝试将两台数据同步的版本卸载安装到3.6版本再尝试同步数据 ...
如何保留配置,降级到3.6 宝塔用户_usnobk 发表于 2023-2-2 16:38
如何保留配置,降级到3.6
您好,您遇到问题可单独发帖询问,您直接卸载安装3.6即可
请问这个是什么原因呢?有遇到的吗?
可以跟本地办公电脑进行文件同步吗,不是服务器 youkeyun 发表于 2023-3-8 22:39
可以跟本地办公电脑进行文件同步吗,不是服务器
家用系统是不可以使用这个插件的哦,在同一局域网内直接创建共享文件夹会更方便一点 本帖最后由 pxw2019 于 2023-3-21 12:30 编辑
这个能不能添加个同步状态提醒
和数据库同步插件 一样 有个失败的提醒
现在连接失败的话只能通过看日志有没有在同步才知道
希望可以有个明显的失败提醒 pxw2019 发表于 2023-3-21 12:23
这个能不能添加个同步状态提醒
和数据库同不一样
连接失败的话只能通过看日志有没有在同步才知道
感谢您宝贵的建议,这边先记录下来 堡塔运维向樛木 发表于 2023-3-21 12:27
感谢您宝贵的建议,这边先记录下来
:lol 谢谢 以后更新 能不能进一步添加个邮件提醒
比如两个服务器同步文件失败 给客户发个邮件
pxw2019 发表于 2023-3-21 12:31
谢谢 以后更新 能不能进一步添加个邮件提醒
比如两个服务器同步文件失败 给客户发个邮件
...
后续会添加的 请问两台服务器系统必须都一样吗