1. 程式人生 > >shell習題-批量同步代碼

shell習題-批量同步代碼

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習題-批量同步代碼