使用 `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
是一个功能强大的工具,可以用于多种文件同步任务。通过使用不同的选项,可以灵活地配置同步方式和行为。建议根据实际需求选择合适的选项。
正文到此结束
- 本文标签: Linux
- 本文链接: https://blog.sandy1029.cloud/article/350
- 版权声明: 本文由nisan原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权