shell习题-批量同步代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell习题-批量同步代码相关的知识,希望对你有一定的参考价值。

需求背景是:

一个业务,有3台服务器(A,B,C)做负载均衡,由于规模太小目前并未使用专业的自动化运维工具。有新的需求时,开发同事改完代码会把变更上传到其中一台服务器A上。但是其他2台服务器也需要做相同变更。

写一个shell脚本,把A服务器上的变更代码同步到B和C上。

其中,你需要考虑到不需要同步的目录(假如有tmp、upload、logs、caches)



#!/bin/bash

echo "该脚本将会把A机器上的/data/wwwroot/www.aaa.com目录同步到B,C机器上";
read -p "是否要继续?(y|n) "

rs() {
    rsync -azP     --exclude logs     --exclude upload     --exclude caches     --exclude tmp www.aaa.com/ $1:/data/wwwroot/www.aaa.com/

}

if [ $REPLY == ‘y‘ -o $REPLY == ‘Y‘ ]
then
    echo "即将同步……"
    sleep 2
    cd /data/wwwroot/
    rs B机器ip
    rs C机器ip
    echo "同步完成。"   
elif [ $REPLY == ‘n‘ -o $REPLY == ‘N‘ ]
then
    exit 1
else
    echo "请输入字母y或者n"
fi


本文出自 “IT屌丝” 博客,请务必保留此出处http://68686789.blog.51cto.com/10438688/1980112

以上是关于shell习题-批量同步代码的主要内容,如果未能解决你的问题,请参考以下文章

shell练习题:使用for循环批量修改文件扩展名

shell习题-27

shell习题-清理日志

shell综合练习题(图文并茂代码清单)

批量同步代码:有3台服务器(A,B,C)做负载均衡,由于规模太小目前并未使用专业的自动化运维工具

shell编程脚本练习题