shell习题-批量同步代码

需求背景是:shell

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

写一个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
相关文章
相关标签/搜索