Monday, July 03, 2006

crontab練習題

需求: 每30分鐘,記錄系統記憶體的使用狀況,並存入/var/log/Year-Month-Day.log;每天早上8:00將昨天的記憶體記錄檔mail給root.

解答:
1.先寫個收集記憶體使用狀況的shell script:
# cd ~root/bin
# vi collect.sh
#!/bin/bash
FILE=/var/log/`date +%Y-%m-%d`.log
date >> $FILE
free >> $FILE
echo >> $FILE
# chmod 755 collect.sh -v
2. # crontab -e
*/30 * * * * /root/bin/collect.sh
3. 撰寫每日發信給root的shell script:
# cd ~root/bin
# vi sendinfo.sh
#!/bin/bash
FILE=/var/log/`date +%Y-%m-%d --date="-1 day"`.log
echo "This is memory info" | mutt -s "Memory info" -a $FILE root
# chmod 755 sendinfo.sh -v
4. # crontab -e
0 8 * * * /root/bin/sendinfo.sh