原创

使用 `rsync` 同步两个目录

温馨提示:
本文最后更新于 2024年07月24日,已超过 253 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用 rsync 同步两个目录

简介

rsync 是一个用于在本地或远程主机之间同步文件的强大工具。它可以用来:

  • 备份文件和目录。
  • 将文件复制到多个服务器。
  • 同步本地和远程文件系统。
  • 增量更新文件。

基本用法

rsync 的基本语法如下:

bash rsync [选项] <源> <目标>

参数说明:

  • 源: 要同步的源文件或目录。
  • 目标: 要将文件同步到的目标文件或目录。

选项说明:

  • -a: 递归复制所有文件和目录,并保留权限、时间戳和符号链接。
  • -v: 显示详细的进度信息。
  • -z: 压缩数据传输。
  • -r: 递归复制目录。
  • -u: 仅更新目标文件,即源文件更新时才会复制。
  • -t: 保留文件的时间戳。
  • -p: 保留文件权限。
  • -g: 保留文件组信息。
  • -o: 保留文件所有者信息。
  • -l: 保留符号链接。
  • -h: 以人类可读的格式显示大小信息。

例子

1. 备份本地目录到远程服务器:

bash rsync -avz /home/user/documents/ user@server:/home/user/backup

此命令会将 /home/user/documents/ 目录递归复制到远程服务器 server 上的 /home/user/backup 目录,并使用压缩传输。

2. 同步本地目录到远程服务器,仅更新已修改的文件:

bash rsync -avz --delete -u /home/user/documents/ user@server:/home/user/backup

此命令会将 /home/user/documents/ 目录递归复制到远程服务器 server 上的 /home/user/backup 目录,并使用压缩传输,仅更新已修改的文件,同时删除目标服务器上不再存在于源目录中的文件。

3. 从远程服务器下载文件到本地:

bash rsync -avz user@server:/home/user/documents/ /home/user/backup

此命令会将远程服务器 server 上的 /home/user/documents/ 目录递归下载到本地的 /home/user/backup 目录,并使用压缩传输。

总结

rsync 是一个功能强大的工具,可以用于多种文件同步任务。通过使用不同的选项,可以灵活地配置同步方式和行为。建议根据实际需求选择合适的选项。

正文到此结束