程式碼上線的shell指令碼
本指令碼來自有學習阿銘的博文學習:
工作中,生產環境中一個業務在跑在多臺機器上,為的是負載均衡,高可用。如何讓這些程式碼保持一致呢?
提示:本文中的S全部都$符,不要問為什麼,馬雲爸爸的社群就這樣。
#!/bin/bash
#用途:程式碼上線的的shell指令碼。
#作者:Caron maktini
#日期:2018年11月27日
#版本:v0.1
#提醒使用者,是否更新了要上線的程式碼列表檔案
read -p "你是否已經更新了檔案列表./file.list?確認請輸入Y,或者按其他任意鍵退出指令碼。" a
#如果直接按回車,也會退出指令碼
if [ -z "$a" ]
then
exit 1
fi
if [ Sa == "y" -o $a == "Y" ]
then
echo "指令碼將在2秒後,繼續執行。"
#每秒輸出一個。共輸出兩個
for i in 1 2
do
echo -n "."
sleep 1
done
echo
else
exit 1
fi
#判斷有無./rsync.exp檔案
[ -f ./rsync.exp ] && rm -f ./rsync.exp
#定義rsync. exp
cat > ./rsync.exp << EOF
#!/usr/bin/expect
set passwd "密碼"
set host [lindex $argv 0]
set file [lindex $argv 1]
spawn rsync -avR --files-from=$file / user#S host:/
expect {
"yes/no" {send "yes
"}
"password:" {send $passwd
}
}
expect eof
EOF
chmod a+x ./rsync.exp
#定義檢測檔案是否存在的函式
if_file_exist()
{
if [ ! -f $1 ]
then
echo "檔案$1不存在,請檢查。"
exit 1
}
#ip.list為所有WEB機器的ip列表
#file.list為要同步的檔案列表
for ip in `cat ./ip.Iis`
do
./rsync.exp $ip ./file.Iist
done
#善後處理
rm-f rsync.exp
#建立user01使用者,並且保證user01使用者對WED使用者有寫許可權。
相關文章
- 檢測不同伺服器上程式碼差別的shell的指令碼伺服器指令碼
- 通用程式部署shell指令碼指令碼
- 資料匯出shell指令碼(上)指令碼
- shell指令碼指令碼
- 史上最全shell指令碼程式設計語法上冊指令碼程式設計
- Shell 指令碼程式設計陷阱指令碼程式設計
- shell 指令碼實現的守護程式指令碼
- BASH Shell的指令碼程式設計(轉)指令碼程式設計
- 利用shell指令碼統計程式碼行數指令碼
- 巧用shell指令碼生成快捷指令碼指令碼
- Shell 指令碼程式併發&程式數控制指令碼
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- shell指令碼(二)指令碼
- shell指令碼心得指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- shell指令碼程式設計筆記指令碼程式設計筆記
- 7.shell指令碼程式設計指令碼程式設計
- 初識shell指令碼程式設計指令碼程式設計
- shell指令碼程式設計基礎指令碼程式設計
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- LINUX Shell指令碼程式設計例項詳解(一)上Linux指令碼程式設計
- 30個關於Shell指令碼的經典案例(上)指令碼
- shell指令碼按照程式名稱殺死程式指令碼
- shell指令碼(6)-shell陣列指令碼陣列
- 使用Shell指令碼查詢程式對應的程式ID指令碼
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- Shell指令碼匯入外部指令碼內容指令碼
- Shell指令碼程式設計初體驗指令碼程式設計
- Shell程式設計-01-Shell指令碼初步入門程式設計指令碼
- Linux Shell程式設計(3)——執行shell指令碼Linux程式設計指令碼
- 如何加密shell指令碼加密指令碼
- 初識shell指令碼指令碼
- 執行shell指令碼指令碼
- Shell 指令碼語句指令碼
- shell 指令碼加密 | shc指令碼加密
- Linux Shell指令碼Linux指令碼
- shell指令碼例項指令碼