您的位置:首页 > 运维架构 > Shell

编写Shell脚本监测服务器状态

2010-06-11 13:14 597 查看
案例需求

——为了持续观察服务器每天的基本运行状况,提供方便易读的集中的日志记录数据,需要结合Shell脚本和计划任务设置,定期记录不同时间段服务器的CPU负载、内存和交换空间、磁盘使用率等各种信息

需求描述

每隔15分钟记录一次服务器的基本运行状况,包括:

CPU负载、内存和交换空间、磁盘空间信息

最近的用户登录情况

记录当时的时间信息(以YYYY-mm-dd HH:MM的格式输出

所有信息追加到文件“/var/log/runrec/running.today”中

每天晚上23:55分时备份 running.today 文件:

进行压缩备份,保存到“/var/log/runrec”目录中

备份文件名参考:running.record-YYYYmmdd.tar.bz2

备份完毕后删除当天的记录文件(running.today)

实现思路

编写运行状况监控脚本/opt/monitor.sh





通过uptime、free、df等命令获取系统状态信息

通过“last -n 20” 获取最近20条用户登录信息 (完后:注意赋予其执行权限)





设定计划任务





每隔15分钟执行一次monitor.sh脚本,每天23:55分进行压缩备份

tar命令的“--remove-files”选项用于备份完后删除源文件

获取日期信息:

date +"%F %H:%M" YYYY-mm-dd HH:MM

date +"%Y%m%d" YYYYmmdd





确认crond服务的启动





附件:http://down.51cto.com/data/2356011
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息