关于rsync命令

发布时间:2017-04-07 17:29:24编辑:丝画阁阅读(1217)

本地目录同步
a) rsync -av  --progress <src-dir>/ <dst-dir>             *** 注意(/) ***
    同步src-dir目录下所有文件到dst-dir目录下
b) rsync -av  --progress <src-dir>  <dst-dir>
    同步src-dir目录下所有文件到dst-dir/src-dir目录下
c) rsync -avu --progress --delete <src-dir>/  <dst-dir>
    对src-dir目录内容向dst-dir目录下进行差异更新,有增加/更新则添加替换,有减少则对其删减
d) rsync -av  --progress --temp-dir=/tmp <src-dir>/ <dst-dir>
    比a)多了--temp-dir=/tmp,即指定/tmp为临时交换区,这样可以避免因目标目录空间不够引起的无法同步文件的错误。

异地主机之间同步
a) rsync -avz  --progress <src-dir> jack@192.168.0.1::<dst-dir>/
    同步本地<src-dir>目录的内容到远程主机192.168.0.1的<dst-dir>目录下,jack是rsync数据库用户
b) rsync -avz  --progress <src-dir> jack@192.168.0.1::<dst-dir>/ --password-file=/home/jack/rsync.jack
    通过自动读取用户密码而实现非交互登录文件同步
c) rsync -avuz  --progress --delete <src-dir> jack@192.168.0.1::<dst-dir>/ --password-file=/home/jack/rsync.jack
    较b)多了-u和--delete
d) rsync -avz  --progress jack@192.168.0.1::<dst-dir>/<src-dir> <dst-dir>
    同步远程主机内容到本地目录

 

说明
---------
-a              archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-u              等同于 --update,在目标文件比源文件新的情况下不更新
-v              显示同步的文件
--progress  显示文件同步时的百分比进度、传输速率
--delete      删除目标目录中多于源目录的文件
-z               等同于 --compress,对传输的文件压缩,这对节约网络带宽或在网络资源紧张的情况下非常有用
--password-file 引用192.168.0.1上rsync用户jack口令的本地文件,创建方法如下
                 shell> echo "jackpwd" >> /home/jack/rsync.jack
                 shell> chown jack:wheel /home/jack/rsync.jack
                 shell> chmod 600 /home/jack/rsync.jack
-P              等同于 --partial,保留那些因故没有完全传输的文件,以是加快随后的再次传输

常用的差不多就这些了,以后有用到的再说吧……

 

arch repo的同步脚本

关键字