2
在Linux上使用sh我期待從多個if語句輸出結果到郵件消息。輸出多個if語句到郵件
#snap server1
running=`ps -U server1 | wc -l`
if [ $running -eq 1 ]; then
/root/zfsnap/zfSnap.sh -v -a 30d tank/server1
fi
#snap server2
running=`ps -U server2 | wc -l`
if [ $running -eq 1 ]; then
/root/zfsnap/zfSnap.sh -v -a 30d tank/server2
fi
sleep 3 && echo "results of script" | mail -s "snapshot status" [email protected]
## current output is
[[email protected] ~]# ./backup_script_daily.sh
/sbin/zfs snapshot tank/[email protected]_12.28.22--30d ... DONE
/sbin/zfs snapshot tank/[email protected]_12.28.22--30d ... DONE
我不太確定如何爲多個if語句執行此操作。我已經看到許多關於個別if語句的討論。我實際上在這個腳本中有大約8個(用戶/服務器)。我多年的腳本經驗一直很低:)。是否會更好地使用類似Perl的東西
put servers into array
for each server in array
run command > to text file
end and mail(textfile)
我很感激任何建議或意見,我對任何問題表示歉意。這是我的第一個。
親切的問候,
〜喬恩·R.
謝謝,這是做到了。感謝迴應! – Eyr3
我不得不在if語句中添加一個帶有換行符的printf,以使郵件更具可讀性:) – Eyr3
好點:-)很高興幫助! –