我有一個腳本,我想在我的Web服務器上每分鐘運行一次,以檢查日誌文件的最後3行,以查看程序的內存使用情況。該腳本的工作原理是爲內存獲得正確的結果,但我無法將其發送到電子郵件或退出 - 它只是掛起?腳本不執行,而是掛起
任何想法,爲什麼這不會退出?這是在服務器上作爲cron運行的最佳方法,以便記錄最後3行日誌?
#!/bin/bash
LOG=/home/user/Scripts/test.txt
SERVER=/home/user/Scripts/local/case.txt
CASE=$(head -n 1 $SERVER)
grep INFO: | grep Memory $LOG | awk '{print $9}' | tail -n 3 | while read output;
do
#echo $output
new=$(echo $output)
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
mag=$(echo $output | awk '{ print $2 }')
if [ $new -lt 10 ]; then
echo $new
mail -s "TEST" - Alert: Memory usage is at $usep%" "[email protected]" <<< \
" \"$CASE \" - Memory usage is currently peaked to \"$mag ($usep%)\" on $(hostname) as on $(date)"
echo "email"
fi
done
您可以在shell中運行郵件行嗎? '<<<'在那裏做什麼? – choroba 2013-04-08 10:11:58
在'#!/ bin/bash'行下面添加'set -x',並從命令行運行腳本以查看發生了什麼。請給你的問題一個更好的標題。 – anubhava 2013-04-08 10:12:02
對不起,問題標題 – Grimlockz 2013-04-08 10:37:52