實驗目的
使用cron定時執行一個簡單的shell的監控腳本,將結果重定向到一個文本檔案中,
cron
用途:按照設定的時間間隔為用戶反復執行某一項固定的系統任務
使用 crontab 命令
–編輯計劃任務:crontab -e [-u 用戶名]
–查看計劃任務:crontab -l [-u 用戶名]
–清除計劃任務:crontab -r [-u 用戶名]
周期性計劃任務書寫格式
分 時 日 月 周 任務命令列(絕對路徑)
例如:
* * * * * 每分鐘執行一次
30 23 * * * 每天晚上11點30分執行一次
30 23 * * 5 每周的周五晚上11點30分執行一次
30 23 * * 1-5 周一至周五晚上11點30分執行一次
30 23 * * 1,5 周一和周五晚上11點30分執行一次
30 23 1 * 1 每月一號或者每周的周一,晚上11點30分執行一次
*/5 * * * * 每隔5分鐘執行一次
1 */2 * * * 每隔兩個小時執行一次
*:匹配范圍內任意時間
,:分隔多個不連續的時間點
-:指定連續時間范圍
/n:指定時間頻率,每n …
實驗內容
制定一個計劃任務每分鐘執行一次
[root@openstack ~]# crontab -e
[root@openstack ~]# crontab -l
* * * * * bash /root/test.sh > /root/test.txt
監控腳本的內容
[root@openstack ~]# cat test.sh
#!/bin/bash
uptime | awk '{print "cpu的15分鐘平均負載是"$NF}'
ifconfig eth0 | awk '/RX p/{print "eth0網卡的接收流量是"$5"位元組"}'
free -h | awk '/^Mem/{print "剩余記憶體是"$4}'
df -h | awk '/\/$/{print "磁盤根磁區剩余容量是"$4}'
awk 'END{print "賬戶總數是"NR"個"}' /etc/passwd
echo "當前開啟的行程數量是$(ps aux | wc -l)個"
echo "當前登錄的用戶數量是$(who | wc -l)個"
echo "總共安裝的軟體包數量是$(rpm -qa | wc -l)個"
實驗結果
[root@openstack ~]# cat test.txt
cpu的15分鐘平均負載是0.14
剩余記憶體是4.8G
磁盤根磁區剩余容量是38G
賬戶總數是40個
當前開啟的行程數量是206個
當前登錄的用戶數量是1個
總共安裝的軟體包數量是813個
驗證
添加一個用戶
[root@openstack ~]# useradd test
過一分鐘查看用戶總數增加一個
[root@openstack ~]# cat test.txt
cpu的15分鐘平均負載是0.13
剩余記憶體是4.8G
磁盤根磁區剩余容量是38G
賬戶總數是41個
當前開啟的行程數量是205個
當前登錄的用戶數量是1個
總共安裝的軟體包數量是813個
清除計劃任務
[root@openstack ~]# crontab -r
[root@openstack ~]# crontab -l
no crontab for root
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240480.html
標籤:其他
上一篇:一個小型作業系統的學習與實作
下一篇:lvm(邏輯卷管理)基礎知識
