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
打赏: 微信
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
新的一年开始啦,加油哈老铁
一起加油呀~
好久没来拉 朋友最近可好