rsync 发布代码 文件备份

-a 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于 -rlptgoD。
-v 详细模式输出。
--delete 删除 目标文件夹(dst) 中 源文件夹(src) 已经没有的文件。
--exclude='' 指定排除不需要传输的文件模式(注意!这里的根目录是 src 目录,里面的文件是相对路径)

预备: src 下有 a b c 3个文件, dst 为空文件夹

mkdir src
mkdir dst
cd src
touch a b c

1.-av 参数

rsync -av src/ dst/

同步完成后 dst 下有 a b c 3个文件

2.--delete 参数

rm src/b
rsync -av --delete src/ dst/

同步完成后 dst 下有 a c 2个文件,b文件删除

3.--exclude 参数

touch src/d src/e
rsync -av --delete --exclude='e' src/ dst/

同步完成后 dst 下有 a c d 3个文件,e文件被排除不进行同步

4.同步到远程(发布代码)

rsync -av --delete src/ vagrant@192.168.33.10:/home/vagrant/dst 

注意以下区别!

rsync -av src/ dst/ 同步src文件夹下的文件,结果为 dst/a、dst/b、dst/c (建议这种用法 --delete 和 --exclude="" 参数能更友好的配合)

rsync -av src dst/ 同步src文件夹本身,结果为 dst/src/a、dst/src/b、dst/src/c

如需转载,请标注来源谢谢: http://lukachen.com/archives/164/

已有 4 条评论
  1. 小轲

    新的一年开始啦,加油哈老铁

    小轲 January 1st, 2019 at 12:06 pm回复
    1. LukaChen

      一起加油呀~

      LukaChen January 9th, 2019 at 03:58 pm回复
  2. 小轲

    好久没来拉 朋友最近可好

    小轲 October 14th, 2018 at 06:16 pm回复
  3. 女生游戏

    这就是传文件夹的函数吧

    女生游戏 September 25th, 2018 at 07:33 pm回复
发表新评论