背景与需求
在IDC运维中,管理多台服务器时,经常需要同步网站配置、SSL证书、应用数据等。1panel作为轻量级开源面板,虽内置备份恢复功能,但多机间手动操作效率低下。借助一键同步工具,可大幅提升运维效率,降低人为错误风险。
同步工具选择
推荐使用开源工具如 rsync + crontab 或 Syncthing 实现。为简化配置,可封装为脚本集成到1panel的Web终端或定时任务中。
方案一:基于rsync的同步脚本
- 安装rsync:在每台服务器执行
apt install rsync(Debian/Ubuntu)或 yum install rsync(CentOS)。 - 配置SSH免密登录:主节点生成密钥对,将公钥分发至各从节点
ssh-copy-id user@slave-ip。 - 编写同步脚本:
#!/bin/bash
SRC_DIR="/opt/1panel/backup"
DEST_USER="root"
DEST_IPS=("192.168.1.101" "192.168.1.102")
for ip in "${DEST_IPS[@]}"; do
rsync -avz --delete -e ssh $SRC_DIR $DEST_USER@$ip:$SRC_DIR
done
- 添加定时任务:在1panel的“计划任务”中创建每分钟/每小时执行该脚本。
方案二:Syncthing实现双向同步
- 安装Syncthing:通过1panel应用商店或手动安装Syncthing服务。
- 添加设备与文件夹:在Web UI中填写对方设备ID,设置共享目录(如 /www/wwwroot)。
- 调整同步策略:根据文件类型设置忽略规则,避免临时文件冲突。
注意事项
安全性:使用非root用户运行同步任务,并限制SSH来源IP。性能:大文件同步建议选择业务低峰期执行。冲突处理:双向同步务必开启版本控制或设置冲突解决方案。
总结
通过rsync脚本或Syncthing工具,可在多台1panel面板间实现数据一键同步。运维人员需根据实际网络环境、数据一致性要求选择合适方案,并定期验证同步结果。此方法适用于集群部署、灾备恢复等场景。