【linux】文件与目录命令 - rsync

发布于:2025-06-29 ⋅ 阅读:(23) ⋅ 点赞:(0)


rsync 命令用于快速同步文件和目录,可用于本地和远程传输,支持增量同步、压缩、权限保留等特性。

1. 基本用法
  • 语法:
rsync [选项] 源 目标
  • 功能:

    • 高效增量同步,只传输变更的部分,提高传输速度。
    • 支持远程同步,可通过 SSH 或 RSync 协议传输文件。
    • 支持压缩和带宽限制,减少网络负载。
    • 保留文件权限、时间戳、符号链接,确保数据完整性。
    • 支持断点续传,适合大文件传输。
  • 此命令是否系统自带:通常系统自带的。若未安装,可以使用以下方法手动安装:

    • Debian/Ubuntu:

      sudo apt install rsync
      
    • CentOS/RHEL:

      sudo yum install rsync
      
    • Arch Linux:

      sudo pacman -S rsync
      

2. 常用参数
  • -a :归档模式(保留权限、时间戳、符号链接等)。
  • -v :显示详细信息。
  • -z :压缩数据,提高传输效率。
  • -r :递归复制,适用于目录。
  • -p :保留权限。
  • -t :保留时间戳。
  • -l :保留符号链接。
  • -h :以人类可读格式显示文件大小。
  • --progress :显示传输进度。
  • --delete :删除目标端不存在的文件,保持完全同步。
  • -e ssh :通过 SSH 进行远程同步。

3. 用法举例
  • 本地同步目录:

    rsync -av /source/ /destination/
    

    说明:将 /source/ 目录同步到 /destination/,保留权限、时间戳等。

  • 远程同步目录:

    rsync -avz -e ssh /local/ user@remote:/backup/
    

    说明:使用 SSH 传输 /local/ 目录到远程服务器 /backup/,启用压缩。

  • 显示进度并同步文件:

    rsync -av --progress /source/ /destination/
    

    说明:同步 /source//destination/,并显示进度。

  • 限制带宽同步:

    rsync -avz --bwlimit=5000 /source/ user@remote:/backup/
    

    说明:限制传输带宽为 5000KB/s(约 5MB/s)。

  • 同步后删除目标端多余文件:

    rsync -av --delete /source/ /destination/
    

    说明:确保 /destination//source/ 完全一致,删除多余文件。

  • 同步指定文件类型:

    rsync -av --include="*.jpg" --exclude="*" /source/ /destination/
    

    说明:只同步 .jpg 文件,忽略其他文件。


4. 注意事项
  • 目录路径后是否有/影响同步方式:

    • /source/ 同步目录内的内容(不包含 source 本身)。
    • /source 同步整个目录(包含 source 目录)。
  • --delete 谨慎使用,避免误删重要文件。

  • 远程同步时,需确保 目标服务器支持 SSH 或 RSync 协议。

  • 传输大文件时,可使用 --partial 支持断点续传。


网站公告

今日签到

点亮在社区的每一天
去签到