1. 程式人生 > >使用shell檢測raid狀態並制作表格發送到郵箱

使用shell檢測raid狀態並制作表格發送到郵箱

shell 發送表格到郵箱

cat raid_fzt.sh #!/bin/bash #data:2018.3.9 #check raid status and mail to someone DIR="/home/s/ops/pantheon/argos/raid.check" # 腳本所在目錄 cd $DIR LOG='raid_check.2018-03-09_11:17:31' #LOG=$(ls -t raid_check.`date +"%F"`.* | xargs echo | cut -d ' ' -f 1 ) BAD_RAID=$(python /raid.check/marshalv3.py $LOG ) #有問題Raid的列表 html_input(){ echo "<tr> <td>$1</td> <td>$2</td> <td>$3</td> <td>$4</td> </tr>" >>$DIR/mail.html } #構造一橫行表格信息 set_info(){ echo "<head> <meta http-equiv="Content-Type" content="text/html\;charset=UTF-8"> <p><font color="red">如下服務器硬件報警,請業務盡快報修,報修時請在報修工單中寫明故障信息。</font></p> </head> <table border=1> <tr> <th>主機信息</th> <th>Hermes信息</th> <th>接口負責人</th> <th>業務負責人</th> </tr>" > $DIR/mail.html host_list=$(grep $1 raid_info | awk '{print $1}') #主機信息列表 for html_host in $host_list do html_owner=$(grep $html_host raid_info | awk '{print $4}') #對應owner信息 html_hermes=$(grep $html_host raid_info | awk '{print $2}') #對應hermes信息 echo $html_host $html_hermes $1 $html_owner html_input $html_host $html_hermes $1 $html_owner #構造每行表格信息 done echo "</table> <p><font>如有問題請聯系: </font> <a href="mailto:[email protected]"> [email protected]</a> </p> <p><font face="arial" color="red">此郵件為系統發送,請勿回復!!! </font></p>" >> mail.html #cat mail.html >> all.html # 報表匯總 mutt [email protected] -s "Raid check" -e "set content_type=text/html" < $DIR/mail.html #發送郵件 #mutt $1 -s "Raid 檢測報警" -e "set content_type=text/html" < $DIR/mail.html } # 制作mail.html,並使用郵件發送 for host in $BAD_RAID do HERMES=$(Pwhoismycluster $host | grep "hermes:" -A 1 | sed -n '2p' | cut -d : -f 1 | sed 's/[[:space:]]//g') # OWNER=$(curl -s "http://10.95.22.14:9093/element/findServerUserBy" -H "Content-Type: application/json" -d '{"HostnameIn":"'$host'"}' | grep -Po '"owner":".*?"' | awk -F ":" '{print $NF}' |sed 's/"//g') OPS=$(curl -s "http://10.95.22.14:9093/element/findServerUserBy" -H "Content-Type: application/json" -d '{"HostnameIn":"'$host'"}' | grep -Po '"ops":".*?"' | awk -F ":" '{print $NF}' |sed 's/"//g') OPS=${OPS:[email protected]} HERMES=${HERMES:=沒查到HERMES} OWNER=${OWNER:=沒查到OWNER} # echo $host $HERMES $OPS $OWNER echo $host $HERMES $OPS $OWNER >> $DIR/raid_info done # 找到 host hermes ops owner 信息並寫入 raid_info 這個文件中,供後續處理 OPS_LIST=$(cat $DIR/raid_info | awk '{print $3}' | sort | uniq ) # 相同郵件人去重 for html_ops in $OPS_LIST do set_info $html_ops # set_info 來發送郵件 done rm $DIR/raid_info # 刪除 raid_info 這個文件


使用shell檢測raid狀態並制作表格發送到郵箱