Ubuntu文件同步常见方法及操作步骤
rsync是Ubuntu系统自带的强大文件同步工具,支持增量同步(仅传输变化部分),适用于本地目录间或本地与远程服务器间的同步。
基本命令格式:
rsync -avz /源目录/ 目标目录/
-a:归档模式(保留文件权限、时间戳、所有者等属性);-v:显示详细同步过程;-z:压缩传输数据(减少网络带宽占用)。/home/user/Documents同步到/mnt/backup/Documents,命令为:rsync -avz /home/user/Documents/ /mnt/backup/Documents/rsync -avz /源目录/ 用户名@远程IP:/目标目录/crontab -e添加定时任务(如每小时同步一次):0 * * * * rsync -avz /源目录/ /目标目录/Unison支持两个目录之间的双向同步(如本地与移动硬盘、两台电脑间的文件双向更新),避免单向同步误覆盖问题。
安装:通过APT包管理器安装:
sudo apt-get install unison
基本用法:
unison /源目录/ /目标目录/
执行后会显示差异文件,按提示选择synchronize(同步)、update(更新)或quit(退出)即可完成双向同步。
Syncthing是开源的点对点文件同步工具,无需第三方服务器,支持多设备(Windows、Mac、Linux)同步,可通过网页端管理。
安装:
sudo apt-get install syncthing
配置:
syncthing启动服务,然后在浏览器访问http://localhost:8384进入Web界面;若需定期自动同步(如每天凌晨3点),可通过cron(传统定时任务)或systemd(更现代的定时器)实现。
cron方式:
crontab -e;0 3 * * * rsync -avz /源目录/ /目标目录//etc/systemd/system/sync.service,内容如下:[Unit]
Description=File Sync Service
[Service]
ExecStart=/usr/bin/rsync -avz /源目录/ /目标目录/
/etc/systemd/system/sync.timer,内容如下:[Unit]
Description=Run Sync Hourly
[Timer]
OnCalendar=hourly
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable sync.timer && sudo systemctl start sync.timer若偏好图形界面,可使用以下工具:
FreeFileSync_11.28_Linux.deb),双击安装或通过终端:sudo dpkg -i FreeFileSync_11.28_Linux.deb