rsync命令常用选项说明
1. 常用选项说明
- -a:递归方式传输文件,并保持文件属性,等价-rlptgoD不包含-H。
- --partial:保留因故没有完全传输的文件,以加快随后的再次传输,即断点续传。
- --progress:在传输时显示传输过程。
- -P:等价于--partial和--progress。
- -z:在传输文件时进行压缩处理。注意,通过网络传输时才有意义。
- --exclude exclude-file:同步时排除文件。
- --exclude exclude-dir/:同步时排除目录。
- -S或--sparse:将空序列转换为稀疏块。例如,传输精简配置的块设备文件。
- --inplace:就地更新目标文件。注意,通过网络发送文件时,不能同时使用--sparse 和--inplace。
- --append:追加数据到较短的文件。能够快速恢复大文件的增量同步。会在增量同步时计算文件大小并直接追加新的数据到文件,这样就省了费IO校验的过程。注意:这个参数最好只在源文件和目标文件都不会更改的时候使用比较安全,比如备份的文件。
- -n或--dry-run:显示那些文件将要被传输。模拟命令执行的结果,并不是真的执行命令。
- --bwlimit:参数指定带宽限制,默认单位是 KB/s,比如--bwlimit=100。
- --include-from=FILE read include patterns from FILE
- --exclude-from=FILE read exclude patterns from FILE
2. rsync的默认行为
- 默认会拷贝隐藏文件。
- 如果size和modified time相同,那么不会拷贝。
- 默认情况下,如果不一样,目的文件会被覆盖。但是,有下面选项可以改变这个行为。
- -c(--checksum):看看它们是不是真的不一样,当然需要更多CPU时间。
- --ignore-existing:如果已经存在了同名文件,无论怎样,都不要改了。
- --backup:如果有,不要覆盖,加上后缀~(也可以通过--suffix指定要加的后缀)。然后再传输A中的文件。也就是说,本来的和A的,在B中都会有。
- --update:如果不一样(大小和modified时间),但是那边更新,那就不管。默认是,就算B更新,也会被覆盖,因为要以A为准。
- --delete:rsync A B,A没有,B有的文件,会不会被删除?默认不会删除,如果加上--delete,会被删除。(请谨慎使用此选项!)
3. “/”的作用
- rsync -a dir host:dest_dir
- rsync -a dir/ host:dest_dir
第一种是dest_dir下有dir。第二种是把dir下所有文件同步过去,不包括dir本身。