可借助宝塔内置Rsync插件实现主备服务器间网站文件与数据库的实时同步:一、安装配置插件并启用服务;二、主服务器配置rsyncd.conf模块;三、备用服务器添加远程→本地同步任务;四、设置Cron定时任务;五、通过日志与文件时间戳验证同步结果。

如果您在使用宝塔面板管理多个服务器,需将网站文件或数据库从主服务器实时同步至备用服务器,则可借助宝塔内置的Rsync插件完成跨服务器数据同步。以下是实现该目标的具体操作步骤:
一、安装并配置Rsync插件
Rsync插件是宝塔官方提供的扩展工具,用于在Linux服务器间高效传输和同步文件。启用前需确保两台服务器均安装宝塔面板且操作系统兼容(CentOS 7+/Ubuntu 18.04+),并已开通对应端口及SSH权限。
1、登录主服务器宝塔面板,在左侧菜单栏点击【软件商店】,搜索“Rsync”插件。
2、找到【Rsync同步插件】,点击【安装】,等待状态显示“运行中”。
3、安装完成后点击【设置】,勾选【启用Rsync服务】,端口默认为873,可自定义但需确保防火墙放行该端口。
4、在【认证用户】区域添加同步账户,填写用户名与强密码,并指定允许同步的目录路径,例如 /www/wwwroot/example.com。
二、配置Rsync服务端(主服务器)
主服务器作为Rsync服务端,负责对外提供同步源数据。需编辑Rsync配置文件以声明模块、路径与访问控制策略。
1、通过宝塔面板进入【文件】,打开路径 /www/server/panel/plugin/rsync/rsyncd.conf。
2、在文件末尾新增一个模块配置段,格式如下:
[example_site]
path = /www/wwwroot/example.com
comment = Website files for example.com
auth users = rsync_user
secrets file = /www/server/panel/plugin/rsync/rsyncd.secrets
read only = yes
list = yes
hosts allow = 备用服务器IP地址
3、保存文件后,在Rsync插件界面点击【重启服务】使配置生效。
三、配置Rsync客户端(备用服务器)
备用服务器作为客户端,主动拉取主服务器上的指定模块数据。需在客户端侧配置连接参数与本地同步目标路径。
1、登录备用服务器宝塔面板,进入已安装的Rsync插件,点击【同步任务】→【添加同步任务】。
2、填写任务名称,如“同步example.com网站”。
3、选择【同步方向】为“远程 → 本地”,【远程服务器】填写主服务器公网IP地址与端口(如 192.168.1.100::example_site)。
4、【认证用户】输入主服务器中设置的用户名与密码,【本地路径】设为 /www/wwwroot/example.com(需提前创建空目录)。
5、勾选【删除本地不存在的文件】(可选),点击【提交】保存任务。
四、设置定时同步任务
手动触发同步适用于单次操作,生产环境需通过定时任务保障数据持续一致。宝塔支持基于Cron表达式的周期性执行机制。
1、在Rsync插件的【同步任务】列表中,找到刚创建的任务,点击右侧【定时设置】。
2、启用定时任务,选择执行周期,例如每30分钟一次:设置时间为 */30 * * * *。
3、确认【执行用户】为root,避免因权限不足导致同步失败。
4、点击【添加】,系统自动写入Crontab并启用。
五、验证同步结果与日志排查
同步任务执行后,需检查文件完整性与时间戳一致性,并通过日志定位潜在异常。Rsync插件默认记录每次执行详情,便于审计与调试。
1、在【同步任务】列表中点击对应任务右侧的【日志】按钮,查看最近三次执行输出。
2、正常日志应包含类似 sent 12345 bytes received 6789 bytes total size is 1048576 的传输统计信息。
3、若出现“Connection refused”或“auth failed”,需核查主服务器Rsync服务是否运行、防火墙是否放行873端口、secrets文件权限是否为600、用户名密码是否匹配。
4、登录备用服务器,执行命令 ls -la /www/wwwroot/example.com,比对关键文件修改时间是否与主服务器一致。










