ubuntu文件管理怎样实现文件同步
导读:Ubuntu 文件同步的实用方案 一、常用方案速览 rsync:增量同步、支持本地/远程、可定时,适合备份与镜像。 rsync + inotify-tools:事件驱动,近实时同步,适合频繁变更目录。 Syncthing:去中心化、加密、...
Ubuntu 文件同步的实用方案
一、常用方案速览
- rsync:增量同步、支持本地/远程、可定时,适合备份与镜像。
- rsync + inotify-tools:事件驱动,近实时同步,适合频繁变更目录。
- Syncthing:去中心化、加密、跨平台,适合多设备自动持续同步。
- Unison:双向同步,适合两台机器互相同步且需冲突合并的场景。
- NFS/Samba:网络共享挂载,偏“共享访问”,不等同于自动同步。
- SSHFS:通过 SSH 挂载远程目录,偏“挂载访问”,不等同于自动同步。
二、方案一 rsync 定时或手动增量同步
- 安装与基本用法
- 安装:
sudo apt-get install rsync - 本地同步:
rsync -a --delete /src/ /dst/ - 远程同步:
rsync -avz -e ssh --delete /src/ user@host:/dst/
- 安装:
- 常用参数
- -a(归档,保留权限/属主/时间等)、-v(详细)、-z(压缩)
- –delete(目标端删除源端不存在的文件)、–exclude=PATTERN(排除)
- –dry-run(演练不真正传输)、–bwlimit=KB/s(限速)
- 定时自动执行
- 编辑计划任务:
crontab -e - 示例(每 30 分钟同步一次):
*/30 * * * * /usr/bin/rsync -a --delete /src/ user@host:/dst/ > > /var/log/rsync.log 2> & 1
- 编辑计划任务:
- 适用:服务器备份、镜像更新、跨机房传输。
三、方案二 rsync + inotify 近实时同步
- 思路:用 inotifywait 监听目录事件,触发 rsync 同步。
- 安装:
sudo apt-get install rsync inotify-tools - 示例脚本
- 保存为 sync.sh,赋权
chmod +x sync.sh - 运行:
nohup ./sync.sh > > /var/log/sync.log 2> & 1 & - 脚本内容:
#!/usr/bin/env bash SOURCE_DIR="/src" DEST_DIR="user@host:/dst" inotifywait -m -e modify,create,delete,move --format '%w%f' "$SOURCE_DIR" | while IFS= read -r file; do echo "$(date '+%F %T') change detected: $file" rsync -avz -e ssh --delete "$SOURCE_DIR/" "$DEST_DIR/" done
- 保存为 sync.sh,赋权
- 适用:开发目录、日志目录等变更频繁、需要近实时备份的场景。
四、方案三 Syncthing 去中心化持续同步
- 安装:
sudo apt install syncthing - 启动与访问:默认管理界面 http://localhost:8384
- 基本配置
- 在设备 A 点击“操作 → 显示 ID”,复制设备 ID
- 在设备 B “远程设备 → 添加远程设备”,粘贴 ID 并命名,确认配对
- “添加文件夹”,选择本地目录,勾选要共享的设备,对方确认后即可开始同步
- 进阶
- 选择性同步子目录、开启文件版本控制
- 外网同步:路由器做 TCP/UDP 22000 端口映射,或启用中继/发现服务
- 服务化:可用
systemd或 Docker 部署,便于开机自启与后台运行
- 适用:多台电脑/服务器/手机之间的持续同步,强调隐私与去中心化。
五、方案四 双向同步与网络共享
- 双向同步 Unison
- 安装:
sudo apt-get install unison - 配置:编辑
~/.unison/default.prf指定两个目录与同步策略 - 运行:
unison /path1 /path2 - 适用:两台主机需要互相推送变更并自动合并的场景
- 安装:
- 网络共享 NFS/Samba
- NFS:服务器
sudo apt install nfs-kernel-server,编辑 /etc/exports 导出目录;客户端sudo mount server:/share /mnt - Samba:服务器
sudo apt install samba,编辑 /etc/samba/smb.conf 配置共享;客户端可挂载或图形文件管理器访问 - 说明:共享挂载提供访问能力,本身不执行自动双向同步,需配合 rsync/Unison 等使用。
- NFS:服务器
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu文件管理怎样实现文件同步
本文地址: https://pptw.com/jishu/780387.html
