rsync is a file transfer program capable of efficient remote update via a fast differencing algorithm.
关于笔者常用到的一些选项如下:
Options -v, --verbose increase verbosity --info=FLAGS fine-grained informational verbosity --debug=FLAGS fine-grained debug verbosity --msgs2stderr special output handling for debugging -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X) --no-OPTION turn off an implied OPTION (e.g. --no-D) -r, --recursive recurse into directories -l, --links copy symlinks as symlinks -p, --perms preserve permissions -o, --owner preserve owner (super-user only) -g, --group preserve group -D same as --devices --specials -t, --times preserve modification times -z, --compress compress file data during the transfer --compress-level=NUM explicitly set compression level --skip-compress=LIST skip compressing files with a suffix in LIST
关于使用rsync进行文件传输的场景举例:
1、将本机的 /rhel/patch/ 目录下的全部条目,同步上传到 远程主机的 /dc-patch/ 目录,如果是本地目录没有以/结尾,则代表将这个目录上传到目标的目录之中
[root@qq-5201351 ~]# rsync -az /rhel/patch/ 192.168.88.89:/dc-patch/
执行后,需要输入远程主机的密码,没有指定用户名,即代表的当前的用户名,这里为root ,也可以直接在 ip/主机地址前 使用 username@x.x.x.x 的形式指定的远端的用户
2、排除某个目录,注意排除选项,如下代表排除本机的 /aa/bb/cc/dir01/目录,这样命令成功后,远端主机上就没有dir01 这个目录了
rsync -az /aa/bb/cc/ --exclude "dir01/" 192.168.88.89:/tmpaa
注意:如果写成 --exclude "/aa/bb/cc/dir01/" 是没有效果的,一样会将 /aa/bb/cc/dir01/ 同步到远端的指定目录
3、排除多个目录,如下写法,成功后,远端目录中,没有dir01 和 dir02 目录 ,笔者测试,目录名后写不写/ 都是一样的效果
rsync -az /aa/bb/cc/ --exclude "dir01/" --exclude "dir02" 192.168.88.89:/tmpaa
另外:对于文件的排除方法与排除目录的方法是一样的,也是写相对于前面目录的位置,如 --exclude "A3.txt" 则代表排除 /aa/bb/cc/A3.txt 文件
如果本地目录写成 /aa/bb/cc ,不以/结尾,则代表是将这整个目录同步到 远端主机 /tmpaa目录之中,对于排除的目录或者文件、还是一样的排除
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17496575.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!