Ubuntu 常用文件系统同步工具与方案
工具与方案总览
快速对比
| 工具 | 类型 | 实时性 | 主要场景 | 上手难度 |
|---|---|---|---|---|
| rsync | 命令行 | 手动/定时 | 备份、镜像、一次性或周期性同步 | 低 |
| rsync + inotify | 脚本化 | 近实时 | 目录变更频繁的开发/日志/工作目录 | 中 |
| Syncthing | 持续同步 | 实时 | 多设备间自动同步、个人/小团队 | 低-中 |
| FreeFileSync | 图形化 | 手动/计划任务 | 桌面用户对比与同步、跨平台 | 低 |
| GlusterFS | 分布式 FS | 实时共享 | 高可用、横向扩展的共享存储 | 高 |
| NFS | 网络挂载 | 实时共享 | 服务器间目录共享、统一访问 | 中 |
典型用法示例
rsync 基础同步(本地或远程)
rsync -avzh /path/to/source/ user@host:/path/to/dest/rsync + inotify 实现近实时同步
sudo apt-get install rsync inotify-tools#!/usr/bin/env bash
SRC="/path/to/source"
DST="user@host:/path/to/dest"
rsync -az --delete "$SRC/" "$DST"
inotifywait -mrq -e create,delete,modify,move --format '%w%f' "$SRC" | while read f; do
rsync -az --delete "$SRC/" "$DST"
done
chmod +x sync.sh;nohup ./sync.sh > sync.log 2>&1 &。适合两台机器或一个目录频繁变更的开发/运维场景。Syncthing 持续同步
sudo apt-get install syncthingFreeFileSync 图形化对比与同步