
rsync是一种高效文件同步工具,广泛应用于本地与远程计算机间文件传输。与scp工具相似,rsync主要用于文件复制而非简单的文件传输。它可以实现递归复制目录及其中文件,并保持原有属性不变。其主要特点在于优化带宽使用和节省存储空间。
rsync支持多种参数优化传输,例如:
-a: 以递归方式传输,保持文件属性。
-v: 详细输出,显示传输进程。
-r: 递归复制目录与文件。
-u: 只更新目标文件,不覆盖新于源文件的文件。
-z: 压缩数据传输,减少网络带宽占用。
-n: 预览操作,测试命令。
--delete: 删除目标中无源文件对应的文件。
--exclude: 排除特定文件或目录。
--include: 包含特定文件或目录。
--bwlimit: 设置带宽限制。
--progress: 显示实时传输进度。
使用实例:
在本地目录间同步文件:
rsync -av /source/ /destination/
远程同步:
rsync -av /source/ remoteuser@remotehost:/destination/
过滤条目:
rsync -av --exclude=.log /source/ remoteuser@remotehost:/destination/
执行进度:
rsync -av --progress /source/ /destination/
遇到问题时,解决办法是使用复制命令如cp、scp或rsync。复制文件时避免mv命令引发的目录删除错误。
总之,rsync是文件同步的强力工具,具备高效传输、属性保持、带宽优化等优点,适用于各种传输场景。