首页 > Linux操作系统 > Linux操作系统 > 监控linux系统的shell
目标:每隔60s将vmstat的结果输出到一个日志文件,系统重启后也能自动运行
步骤:
1.编写shell脚本monitor.sh,可以每隔60s将vmstat的结果输出到log.txt中,同时输出前显示时间。
[root@xh root]# more monitor.sh
echo "====== time is "`date +%Y%m%d/%H:%M:%S` "========" >>/root/log.txt
nohup vmstat 60 >>/root/log.txt 2>&1 &
注意:
飘叶-广州 11:52:50
2通常是一些错误输出,不会写到日志里面。
1是命令的输出。
最后加 &,就是静默方式运行了。
错误输出(2)只会输出到屏幕的,只能在屏幕看到。所以要重定向到标准输出(1) >>追加 >覆盖
2.编写time.sh,可以通过操作系统的crontab调用,每隔1小时显示一次时间,并追加到log.txt中。
[root@xh root]# more time.sh
echo "====== time is "`date +%Y%m%d/%H:%M:%S` "========" >>/root/log.txt
3.编写backup.sh,通过crontab调用,每月定期将log.txt转储到/root/log下,并清空log.txt。
[root@xh root]# more 1.sh
/bin/sh /root/time.sh >> /root/log.txt
dd=`date +%Y%m%d%H%M%S`
cp /root/log.txt /root/log/log.$dd
> /root/log.txt
/bin/sh /root/time.sh >> /root/log.txt
4.crontab -l中的内容
0 * * * * /root/time.sh
0 8 * * * /root/1.sh
注意:以上6项 依次代表分钟,小时,每月几号,哪个月,星期几,命令
在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。
整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。
用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。
正斜线(/)可以用来指定间隔频率。在范围后加上 /<integer> 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。
开头为井号(#)的行是注释,不会被处理。
编辑完crontab内容后,重启服务service crond restart
5.将monitor.sh添加到/etc/rc.local里
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9533994/viewspace-1006018/ ,如需转载,请注明出处,否则将追究法律责任。