rsync 是一个非常强大的工具,用于高效地同步文件和目录。以下是一些 rsync 的使用实例,展示了不同场景下的使用方法:
1. 基本文件同步
将本地文件 file.txt 同步到目录 /path/to/destination/。
rsync file.txt /path/to/destination/
2. 目录同步
递归地同步本地目录 /source/ 到远程服务器的 /path/to/destination/ 目录。
rsync -r user@remotehost:/source/ /path/to/destination/
3. 排除文件
同步 /source/ 目录,但排除 log.txt 文件。
rsync -r --exclude 'log.txt' /source/ /path/to/destination/
4. 同步并压缩
在同步时压缩文件,适用于远程传输以节省带宽。
rsync -az /source/ user@remotehost:/path/to/destination/
5. 仅同步新文件和更改过的文件
仅同步源目录中新添加的或已更改的文件。
rsync -u /source/ /path/to/destination/
6. 同步时保留权限和时间戳
同步文件时保留原文件的权限和时间戳。
rsync -apt /source/ /path/to/destination/
7. 同步并保留链接
同步时保留符号链接。
rsync -al /source/ /path/to/destination/
8. 同步到远程主机
将本地目录同步到远程主机的指定目录。
rsync -r /local/path user@remotehost:/remote/path
9. 同步并删除目标目录中多余的文件
同步文件并在目标目录中删除那些源目录不存在的文件。
rsync -av --delete /source/ /path/to/destination/
10. 同步时指定带宽限制
限制 rsync 传输的带宽。
rsync -av --bwlimit=1000 /source/ user@remotehost:/path/to/destination/
11. 同步时显示进度条
显示文件同步过程中的进度条。
rsync -ah --progress /source/ /path/to/destination/
12. 同步时不解析主机名
直接使用 IP 地址进行同步,不进行DNS解析。
rsync -av --no-implied-dirs user@remotehost:/source/ /destination/
13. 同步时保留所有权和组信息
同步文件时保留原文件的所有者和组信息。
rsync -og /source/ /path/to/destination/
14. 同步时使用SSH
通过SSH进行安全文件传输。
rsync -avz -e ssh /source/ user@remotehost:/path/to/destination/
15. 同步时跳过基于大小和时间的检查
如果文件大小和最后修改时间与目标文件相同,则跳过同步。
rsync -av --checksum /source/ /path/to/destination/
这些实例展示了 rsync 的灵活性和多样性,可以根据实际需求选择合适的参数和选项。