檢測不同伺服器上程式碼差別的shell的指令碼
本指令碼來自有學習阿銘的博文學習:
在生產中,為了防止高併發,單點,災變,和負載均衡等一些突發情況,會將多臺伺服器用來跑用一程式碼。但是如果上線的程式碼出現了問題,將導致程式碼不一樣的情況。
#!/bin/bash
#用途:檢測不同伺服器上程式碼差別的shell的指令碼。
#作者:Caron maktini
#日期:2018年10月18日
#版本:v0.1
#假設B機器IP地址為192.168.0.1
B_ip=192.168.0.1
dir=/data/wwwroot/www.abd.com
#首先檢查/tmp/md5.list檔案是否存在,存在的話就刪除掉,避免影響後續操作
[ -f /tmp/md5.list ] && rm -f /tmp/md5.list
#把除了uploads以及tmp目錄外其他目錄下的全部檔案列出來
cd $ dir
find . ( -path "/uploads*" -o -path "./tmp*" )
#用while迴圈,求出所有檔案的md5值,並寫入一個檔案裡
cat /tmp/file.Iist l while read line
do
md5sum $line
done >> /tmp/md5.Iist
#將md5.list拷貝到B機器
scp /tmp/md5.Iist $B_ip:/tmp/
#判斷/tmp/check_md5.sh檔案是否存在
[ -f /tmp/check_md5.sh && rm -f /tmp/check_md5.sh ]
#用Here Document編寫check_md5.sh指令碼內容
cat > /tmp/check_md5. sh << EOF
#!/bin/bash
dir=/data/wwwroot/www.abd.com
##注意,這裡涉及到的特殊符號都需要脫義,比如反引號和$
n=`wc -l /tmp/md5.list | awk `{print $1}``
for i in `sep 1 $n`
do
file_name=` sed -n "$i"p /tmp/md5.list I awk `{print $1}``
md5=`sed -n "$i" p /tmp/md5.Iist l awk `{print $2 }``
if [ -f $file_name ]
then
md5_b= `md5sum $file_name`
if [ $md5_b != $md5 ]
then
echo " $file_name changed"
fi
else
echo " $file_name lose "
fi
done > /data/change. Iog
EOF
scp /tmp/check_md5.sh $B_ip:/tmp/
ssh $B_ip "/bin/bash /tmp/check_md5.sh"
相關文章
- 程式碼上線的shell指令碼指令碼
- shell指令碼企業巡檢指令碼
- 通過shell指令碼檢測MySQL服務資訊指令碼MySql
- 通用程式部署shell指令碼指令碼
- 如何使用 Shell 指令碼掩蓋 Linux 伺服器上的操作痕跡?指令碼Linux伺服器
- 根據ip列表檢測主機狀態(shell指令碼)指令碼
- linux常用的shell指令碼Linux指令碼
- PJzhang:鳥哥的linux私房菜-shell指令碼-上Linux指令碼
- shell指令碼指令碼
- 設定Linux伺服器IP地址的shell指令碼Linux伺服器指令碼
- 如何使用 Shell 指令碼來檢視多個伺服器的埠是否開啟?指令碼伺服器
- Shell 指令碼程式設計陷阱指令碼程式設計
- Keepalived檢測mysql 3306心跳的指令碼MySql指令碼
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- 史上最全shell指令碼程式設計語法上冊指令碼程式設計
- 使用Shell指令碼查詢程式對應的程式ID指令碼
- shell指令碼的三種執行方式和區別指令碼
- shell指令碼頭,#!/bin/sh與#!/bin/bash的區別.指令碼
- linux shell指令碼中 =~ 的作用Linux指令碼
- 30個關於Shell指令碼的經典案例(上)指令碼
- Shell 指令碼程式併發&程式數控制指令碼
- 直播程式碼是如何工作的,不同伺服器之間的區別伺服器
- 分享實用監控指令碼:使用Shell檢查程式是否存在指令碼
- Shell指令碼 – 檢視網路介面資訊指令碼
- shell指令碼中不識別source命令指令碼
- shell指令碼程式設計筆記指令碼程式設計筆記
- 7.shell指令碼程式設計指令碼程式設計
- 常用shell指令碼指令碼
- shell指令碼案例指令碼
- Linux Shell指令碼Linux指令碼
- springboot打包不同環境配置與shell指令碼部署Spring Boot指令碼
- LINUX Shell指令碼程式設計例項詳解(一)上Linux指令碼程式設計
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- mysql 伺服器巡檢指令碼MySql伺服器指令碼
- 同步線上伺服器程式碼到web節點指令碼伺服器Web指令碼
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- 如何編寫高效的 Shell 指令碼指令碼
- 如何呼叫python中的shell指令碼?Python指令碼