执行:crontab -e
或者是编辑:/var/spool/cron/root 文件(root为当前登录用户对应的文件)
*/30 * * * * /home/monitor.sh
~
~
为30分钟执行一次,monitor.sh内容为:
date >>/home/monitor.log
free >>/home/monitor.log
uptime >>/home/monitor.log
iostat >>/home/monitor.log
结果在monitor.log中:
Thu Jan 8 09:00:01 CST 2015
total used free shared buffers cached
Mem: 32831320 2839336 29991984 0 1121596 548744
-/+ buffers/cache: 1168996 31662324
Swap: 16383992 0 16383992
09:00:01 up 16:29, 2 users, load average: 0.49, 0.41, 0.28
Linux 2.6.32-279.el6.x86_64 (master) 01/08/15 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.30 0.00 0.39 1.07 0.00 98.25
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.22 26.48 9.89 1572226 587244
sdg 0.04 2.97 0.29 176522 17048
sdi 0.03 2.95 0.28 175010 16896
sdj 0.03 2.98 0.29 177098 17000
sdh 0.03 2.95 0.29 175082 16992
sdb 0.04 2.64 0.20 156634 12120
sdd 0.03 2.93 0.29 174266 17024
sde 0.03 2.98 0.29 176730 16984
sdf 0.03 2.98 0.29 177250 17024
sdc 0.04 3.02 0.30 179570 17976
Thu Jan 8 09:30:01 CST 2015
total used free shared buffers cached
Mem: 32831320 2847472 29983848 0 1123416 548828
-/+ buffers/cache: 1175228 31656092
Swap: 16383992 0 16383992
09:30:01 up 16:59, 4 users, load average: 0.07, 0.08, 0.09
Linux 2.6.32-279.el6.x86_64 (master) 01/08/15 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.29 0.00 0.38 1.08 0.00 98.25
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.20 25.70 9.78 1572226 598172
sdg 0.03 2.89 0.28 176522 17048
sdi 0.03 2.86 0.28 175010 16896
sdj 0.03 2.89 0.28 177098 17000
sdh 0.03 2.86 0.28 175082 16992
sdb 0.04 2.56 0.20 156634 12120
sdd 0.03 2.85 0.28 174266 17024
sde 0.03 2.89 0.28 176730 16984
sdf 0.03 2.90 0.28 177250 17024
sdc 0.03 2.93 0.29 179570 17976
结果生成的文件名字上有个?号的解决办法:
经过排查,知道因为我系用记事本写sh脚本,换行时和linux的换行符唔同,导致linux编译唔到笔记本换行符
用UE这个编辑器就可以编辑linux命令。选择文件,转换,在里面选doc-unix就行了!
修正版的 monitor-updated.sh:
#! /bin/bash
#Purpose: Save System status
DATE=$(date +%Y%m%d)
SYSTEM_TIME=$(date '+%Y-%m-%d %T')
FILE_NAME="Monitor""$DATE"".log"
date >>/home/$FILE_NAME
free >>/home/$FILE_NAME
uptime >>/home/$FILE_NAME
iostat >>/home/$FILE_NAME
echo "==================EXECUTE Clear..."$SYSTEM_TIME"==================" >>/home/$FILE_NAME
echo 1 > /proc/sys/vm/drop_caches
echo "" >>/home/$FILE_NAME
FILE_NAME="Monitor""$DATE"".log"
date >>/home/$FILE_NAME
free >>/home/$FILE_NAME
uptime >>/home/$FILE_NAME
iostat >>/home/$FILE_NAME
echo "==================Done Clear. "$SYSTEM_TIME"======================" >>/home/$FILE_NAME
echo "" >>/home/$FILE_NAME
重新载入配置 :
/sbin/service crond reload
重启服务:
/sbin/service crond restart