首页主机资讯ubuntu文件管理怎样实现文件同步

ubuntu文件管理怎样实现文件同步

时间2026-01-15 19:57:03发布访客分类主机资讯浏览1187
导读: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
      
  • 适用:开发目录、日志目录等变更频繁、需要近实时备份的场景。

四、方案三 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 等使用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu文件管理怎样实现文件同步
本文地址: https://pptw.com/jishu/780387.html
Ubuntu HDFS如何进行权限控制 ubuntu文件管理如何快速定位文件

游客 回复需填写必要信息