Linux 第19天: (09月08日) 練習和做業

Linux 第19天: (09月08日) 練習和做業vim

 

 

 


/var/spool/at  at任務列表bash


service atd status          查詢服務狀態
/etc/rc.d/init.d/atd status 查詢服務狀態
/etc/init.d/atd status      軟鏈接查詢
ide

 

 

chkconfig --list atd
runlevel
ntsysv 圖形界面設置服務啓動選項
chkconfig --level 5 atd on 設置服務啓動選項
runlevel
url

 


systemctl status atd 版本7服務查詢
systemctl start atd 版本7啓動服務
spa

at -V   查詢版本
at -l   列出任務表
at -c 1 查看任務詳細定義
at -d   刪除任務
at -f   任務以文件方式
日誌

at 10:00 -f /root/at.sh 任務以文件方式
at 10:00 < /root/at.sh 任務以文件方式
crontab

 


ll /var/spool/at 列出任務文件it

 


at 10:00 -f at.sh -m 強制以郵件通知任務class

 


/etc/at.deny   黑名單
/etc/at.allow  白名單
test

 


vim /etc/crontab  修改計劃任務

 


cat /var/log/crontab 查看任務日誌

cat /etc/cron.hourly/0anacron
cat /var/spool/anacron/cron.daily
cat /etc/anacrontab
cd  /etc/cron.daily/
cd  /etc/cron.weekly/

ll  /var/spool/cron 列出任務列表

 


crontab -r


 

 


練習

 


一、每4小時備份一次/etc目錄至/backup目錄中,保存的文件名稱格式爲「etc-yyyy-mm-dd-HH.tar.xz」

 

mkdir /backup


crontab -e

*/10 * * * * /root/bin/disk.sh

 

vim disk.sh

 

1 */4 * * * /bin/cp -a /etc /backup/etc-$(date +'%Y%m%d%H%M') > /dev/null

 

1 */4 * * * tar Jcf /testdir/backup/etcbak-`date +\%F-\%H`.tar.xz /etc/ &> /dev/null

 

 


二、每週2, 4, 7備份/var/log/messages文件至/logs目錄中,文件名形如「messages-yyyymmdd」

 

crontab -e


1 1 * * 2,4,7 /bin/cp /var/log/messages /logs/message-$(date +'%Y%m%d%') > /dev/null

 

 


三、每兩小時取出當前系統/proc/meminfo文件中以S或M開頭的信息追加至/tmp/meminfo.txt文件中

 

crontab -e


1 */2 * * * /bin/grep "^S" /proc/meminfo >> /temp/meminfo.txt

 

 


四、工做日時間,每10分鐘執行一次磁盤空間檢查,一旦發現任何分區利用率高於80%,就執行wall警報

 

crontab -e


*/10 * * * 1-5 /bash vim disk.sh

 

vim disk.sh


#!/bin/bash
DISK=`df|grep'^/dev/sd.*'|tr -s ' ' '%'|cut -d% -f5|sort -n|tail -n1`
[ $DISK - gt 80 ] && wall "disk will be full"

 

 

 思考:

 


(1) 如何在秒級別運行任務?


* * * * * for min in 0 1 2; do echo "hi"; sleep 20; done

 

 


(2) 如何實現每7分鐘運行一次任務?

相關文章
相關標籤/搜索