ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 监控linux系统的shell

监控linux系统的shell

原创 Linux操作系统 作者:jlttt 时间:2008-06-23 15:20:04 0 删除 编辑

目标:每隔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/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: eygle_getsql.sql
下一篇: 恋上shell编程
请登录后发表评论 登录
全部评论

注册时间:2008-06-28

  • 博文量
    75
  • 访问量
    686125