nohup+rsync 的异步同步方案
nohup 结合 rsync 实现后台数据同步的核心在于利用 nohup 避免终端关闭导致任务中断,同时 rsync 提供高效差异传输。具体实施分为以下模块:
基础命令结构
nohup rsync -avz --progress /源路径/ 用户@远程主机:/目标路径/ > sync.log 2>&1 &
-avz:归档模式(保留权限等)、显示进度、启用压缩> sync.log:重定向标准输出到日志文件2>&1:将标准错误合并到标准输出&:后台运行
高级参数优化
--partial 允许保留部分传输的文件 --bwlimit=5000 限制带宽为 5000KB/s(适用于生产环境) --delete 同步删除源端不存在的文件(需谨慎) --exclude="*.tmp" 排除特定文件类型
自动化监控方案
通过 ps -ef | grep rsync 检查任务状态 结合 crontab 定时任务实现周期同步:
0 3 * * * nohup rsync -avz /data/ backup@192.168.1.100:/backup/ > /var/log/rsync.log 2>&1
断点续传机制
rsync --partial --progress 组合使用 临时文件会自动保存为 .filename.part,下次同步时自动继续传输
日志分析技巧
tail -f sync.log 实时查看传输进度 grep -i error sync.log 快速定位传输异常
安全增强配置
使用 --password-file=/path/to/pass 避免交互输入密码 SSH 密钥认证替代密码登录更安全:
nohup rsync -avz -e "ssh -i /path/to/key" /src/ user@host:/dst/
该方案特别适合需要持续运行的跨服务器同步任务,通过日志重定向和后台运行实现完全脱离终端的稳定传输。对于大规模数据同步,建议先通过 --dry-run 参数进行模拟测试。
356

被折叠的 条评论
为什么被折叠?



