編寫以下指令碼命令:
[root@localhost sh]# vim sysmon.sh
#!/bin/bash
#提取效能監控指標(磁碟占用、cpu使用、記憶體使用)
dug=$(df -h | grep "/$" | awk '' | awk -f% '')
cug=$(expr 100 - $(mpstat | tail -1 | awk '' | awk -f. ''))
mug=$(expr $(free | grep "mem:" | awk '') \* 100 / $(free | grep "mem:" | awk ''))
#設定告警日誌檔案、告警郵箱
alog="/tmp/alert.txt" # 日誌檔案的變數
amail="root" # 傳送到郵箱的變數
#判斷是否記錄告警
if [ $dug -gt 80 ]
then
echo "磁碟佔用率:$dug %" >> $alog
fiif [ $cug -gt 70 ]
then
echo "cpu使用率:$cug %" >> $alog
fiif [ $mug -gt 80 ]
then
echo "記憶體使用率:$mug %" >> $alog
fi#判斷是否傳送告警郵件,最後刪除告警日誌檔案
if [ -f $alog ]
then
cat $alog | mail -s "host alert" $amail
rm -rf $alog
fi
然後檢視 crond 系統服務狀態,確保已經執行:
[root@localhost /]# systemctl status crond.service
● crond.service - command scheduler
loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
active: active (running) since fri 2019-08-09 17:06:26 cst; 36min ago
main pid: 1073 (crond)
cgroup: /system.slice/crond.service
└─1073 /usr/sbin/crond -n
確認之後 編寫任務計畫:
[root@localhost /]# crontab -e
*/30 * * * * /sh/sys.sh
[root@localhost /]# crontab -l
*/30 * * * * /sh/sys.sh
Mono使用C 執行shell指令碼 Linux
process process new process process.startinfo.filename bash process.startinfo.createnowindow false 獲取或設定指示是否在新視窗中啟動該程序的值 不想彈出powershell視窗看執行過程的話,就 tru...
使用shell指令碼監控Linux主機
root localhost cat sysmon.sh bin bash dug df h g rep df h grep df h grep awk awk f at position 2 1 cug expr 100 mpstat tail 1 awk awk f.at position 2 ...
使用 shell 指令碼監控 Linux 主機
編寫以下指令碼命令 root localhost sh vim sysmon.sh bin bash 提取效能監控指標 磁碟占用 cpu使用 記憶體使用 dug df h grep awk awk f cug expr 100 mpstat tail 1 awk awk f.mug expr fre...