📜  rsync - 两个目录同步 (1)

📅  最后修改于: 2023-12-03 14:47:08.040000             🧑  作者: Mango

rsync - 两个目录同步

简介

rsync 是一款常用的文件同步工具,能够快速、可靠地将文件从一个目录同步到另一个目录。

与常见的复制命令不同,rsync 通过比较源目录与目标目录的差异来决定哪些文件需要复制。这种增量同步的方式大大节省了时间和带宽。

基本使用

使用 rsync 最基本的命令格式如下:

rsync [OPTIONS] SOURCE DESTINATION

其中,SOURCE 是源目录的路径,DESTINATION 是目标目录的路径。

例如,如果要将本地 /usr/local/src 目录同步到远程主机的 backup 目录下,可以使用以下命令:

rsync -avz /usr/local/src user@remote:/backup

这个命令将以归档模式(-a)、压缩方式(-z)和增量更新的方式同步 /usr/local/src 目录到 user@remote:/backup 目录下。

高级选项

rsync 还提供了许多高级选项,用于更细致地控制同步过程。以下是一些常用的选项:

  • -a, --archive:以归档模式同步,相当于 -rlptgoD 的缩写。
  • -r, --recursive:递归同步子目录。
  • -l, --links:复制符号链接。
  • -p, --perms:保留权限。
  • -t, --times:保留时间戳。
  • -g, --group:保留群组。
  • -o, --owner:保留所有者。
  • -D:保留设备文件和特殊文件。
  • -v, --verbose:输出详细信息。
  • -z, --compress:以压缩方式传输数据。

例如,如果要同步一个包含大量文件和子目录的工作目录,则可以使用以下命令:

rsync -avzh --progress ~/work user@remote:/backup

这个命令将以归档模式、压缩方式、增量更新和进度条的方式同步本地的 ~/work 目录到远程主机的 user@remote:/backup 目录下。

结论

rsync 是一款非常实用的文件同步工具,能够快速、可靠地进行增量同步。通过灵活使用其选项,可以实现更细致地控制同步过程。在日常工作中,rsync 是不可或缺的工具之一。