1. rsync 命令作用
rsync 主要用于同步 2 台机器的文件。这里,同步的意思是:
1. 若目的端文件的源端的文件内容不一致,则使目的端文件和源端的文件内容一致。默认下,程序会比较两端文件的时间戳和大小,如果一致,则不会同步。 2. 默认下,若两端都有的文件,不会修改rwx权限和modify time。 3. 源端的路径必须有读权限,目的端必须有写权限,才能正常同步。
2. rsync 常用命令和参数
常用命令示例: $ rsync -vrP -e 'ssh -p 22' SRC USER@HOST:DEST 可以使用 rsync 替代 scp。因为 scp 不能断点续传。 常用参数: -v 输出日志信息,-vvv (多个v)则会输出更多的信息。 -r 递归,传输文件夹需要加此参数。 -P 相当同时使用 --partial(断点续传) --progress(显示传输进度)这2个参数。 -e default: ssh 设置传输方式。如果ssh端口是 1234,则需要使用参数 -e 'ssh -p 1234' 。 --delete 删除在目的端删存在而源端不存在的文件,配合 -r 使用。 -z 使用gzip压缩后传输。 -t 将源端文件的modify time同步过去。 -p 将源端文件的rwx权限同步过去。 -I 程序会比较文件内容是否一致来进行同步,速度慢。