[标签]: Linux
[说明]:在应急情况下自己写个小脚本监控服务器状态。。不用安装mrtg或者rrd, --->> 懒人专用 ~
# camor原创并首发于
http://camor.cublog.cn# 转载和引用请先留言并注明出处!# [By camornow$gmail.com]
脚本用途:
每小时
1 记录系统负载
2 记录网络流量
3 记录内存状况
4 记录存储状态
环境设定:
设定执行脚本在/usr/bin目录内
设定执行脚本文件名为:sysinfo.sh
设定每天生成日志文件名为sysinfo_$Time1.log (Time1为当天脚本日期)
设定生成日志文件的路径为/Datas/logs/syslog
设定平均每1小时执行一次系统状态收集
编写运行脚本如下:
新建 sysinfo.sh
#vi /usr/bin/sysinfo.sh
输入以下内容:
#! /bin/sh
#
Time1=`date +%Y%m%d`
## 定义变量Time1 显示状态 为YYYYMMDD
#
Time2=`date +%c`
## 定义变量Time2 显示状态为 x年x月x日 星期x x时x分x秒
#
cd /Datas/logs/syslog
## 日志文件的路径
#
echo "=================================================================" >>sysinfo_$Time1.log
## 养眼分割符,为方便查看分段记录
#
echo "-------------------">>sysinfo_$Time1.log
echo "[ sysinfo By Camor ]">>sysinfo_$Time1.log
echo "-------------------">>sysinfo_$Time1.log
## 良好习惯,脚本说明信息
#
date +%c>>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
echo "Cpu状态">>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
sar 1 5 -u >>sysinfo_$Time1.log
## 当前时间收集5次CPU占用状况,系统取得平均值
#
echo "" >>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
echo "网卡状态">>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
sar 1 3 -n DEV>>sysinfo_$Time1.log
## 当前时间收集3次网络流量状况,系统取得平均值
#
echo "" >>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
echo "内存状态(M单位)">>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
free -m >>sysinfo_$Time1.log
## 以M为单位显示当前内存状态
#
echo "" >>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
echo "磁盘占用状况(M单位)">>sysinfo_$Time1.log
echo "--------------------" >>sysinfo_$Time1.log
df -m>>sysinfo_$Time1.log
## 以M为单位显示当前磁盘占用状态
#
echo "" >>sysinfo_$Time1.log
#
################################
脚本完成,存盘退出。
使编写的脚本属性为可执行。
加入定时任务调度表:
# crontab -e
加入这样一行:
0 */1 * * * /usr/bin/sysinfo.sh
Ok.... 现在不用mrtg,偷懒也可以保存系统状态了。
当然,就方便直观而言,还是mrtg、rrd之类的或者更专业的工具最好。脚本只是应急方法,领导临时需要数据时专用。。
阅读(2236) | 评论(0) | 转发(0) |