UNIX/Linux 系统磁盘 空间监控 自动化脚本 示例
UNIX/Linux 系统磁盘 空间监控 自动化脚本 示例
1. 分区监控 /root/disktab 文件示例
2. checkdisk 脚本初始化部分
3. checkdisk 脚本分析 /root/disktab 文件部分
4.中的脚本实现了实时监控并检测分区状况,通过前面获得的用户定义的阈值和 df 命令的输出进行比较,如果 df 显示的某个分区的空间占用超过了用户定义的阈值,则执行用户定义的操作。
4. checkdisk 脚本根据分区状况执行响应
5. 响应脚本示例
以下将是详细介绍:
在下面的内容中,我们给出了一个对磁盘分区剩余空间大小进行自动化监控的示例,用户可根据自身需求,对示例脚本进行修改以达到特定的管理目的。
我们的自动化磁盘分区空间监控系统分为三个部分,由三个文件 /root/disktab,checkdisk 脚本和 /root/diskresp 实现。/root/disktab 文件定义了需要监控的磁盘分区,报警阈值和达到阈值后的动作。checkdisk 则实现了整个对于磁盘空间的监控过程,而 /root/diskresp 文件为用户自定义的磁盘空间达到阈值后的响应脚本。
监控脚本将被添加到 crontab 中,这样就可以使监控循环进行。我们的脚本在 RedHatEL-Server 5.3(perl 版本 5.8.8)、SLES 11(perl 版本 5.10.0) 和 AIX 5.3(perl 版本 5.8.2) 上测试通过。
定义的 /root/disktab 文件拥有下面的格式
分区所 mount 的目录 报警阈值 达到阈值后的动作
1. 分区监控 /root/disktab 文件示例
/ 80% /root/diskresp
/data 100G /root/diskresp
在这个文件中,第一行表示当”/”分区空间占用超过 80% 时,则运行脚本 /root/diskresp 进行响应;第二行表示当”/data”分区的空间占用超过 100G 时运行脚本 /root/diskresp 进行响应。我们的文件允许报警阈值以 KB,MB,GB 为单位,也可以以百分比表示。
脚本 checkdisk 主要完成的任务是分析 /root/disktab 文件并和当前查看磁盘空间的输出进行比较,对于空间异常的分区采取相应的措施。脚本 checkdisk 的第一部分先进行了初始化,获得了要使用的分区监控定义文件,默认的分区监控定义文件为 /root/disktab,也可以通过参数指定该文件的位置。
2. checkdisk 脚本初始化部分
#!/usr/bin/perl
use strict;
my $DISKTABFILE = “/root/disktab”;
if ($ARGV[0] ne “”) {
$DISKTABFILE = $ARGV[0];
}
# 因为 Linux 和 AIX 的 df 命令格式略有不同,所以首先判断一下
my $OS
相关文档:
Memcache缓存是个好软件,这里讲下在Linux下安装的方法:
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。
下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent ......
结合我工作中碰到的运维问题,总结一下linux下server常见的运维问题以及定位方式。这里的server主要指自主开发的逻辑server,web srv因为通常采用通用的架构所以问题比较少。
逻辑server通常的处理能力在3k/s - 1w/s之间,因业务特点而不同。逻辑server一般是自主开发的,虽然在上� ......
昨天分别试用了一下Linux下和Windows下的IPv6 Ping,发现无法ping Link-local地址,百思不得其解,遂上网google一下,终于找到了原因。
Windows XP下的IPv6地址:
Ethernet adapter Test:
Connection-specific DNS Suffix . :
& ......
linux—select详解
select系统调用时用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。
关于文件句柄,其实就是一个整数,通过socket函数的声明就明白了:
int socket(int domain, int type, int protocol);
我们最熟悉的句柄是0、1、2 ......
1. LinuxCommand
LinuxCommand是一个学习Linux命令行最好的网站之一。网站分为:学习Shell、写Shell脚本、脚本库、超级MAN页面。
http://linuxcommand.org/
2. O’Reilly的Linux命令指南目录
O’Reilly的Linux命令指南目录是一个极好的快速参考指南,列出了大 ......