Linux/Unix shell 脚本监控磁盘可用空间
Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少。下面是给出的一个监控磁盘空间空间shell脚本的样本,供大家参考。
1、监控磁盘的空闲空间shell脚本
- robin@SZDB:~/dba_scripts/custom/bin> more ck_fs_space.sh
- #!/bin/bash
- # ------------------------------------------------------------------------------+
- # CHECK FILE SYSYTEM SPACE BY THRESHOLD |
- # Filename: ck_fs_space.sh |
- # Desc: |
- # The script use to check file system space by threshold |
- # Once usage of the disk beyond the threshold, a mail alert will be sent. |
- # Deploy it by crontab. e.g. per 15 min |
- # Usage: |
- # ./ck_fs_space.sh <percent> </filesystem [/filesystem2]> |
- # |
- # Author : Robinson |
- # Blog : http://blog.csdn.net/robinson_0612 |
- # ------------------------------------------------------------------------------+
- #
- # -------------------------------
- # Set environment here
- # ------------------------------
- if [ -f ~/.bash_profile ]; then
- . ~/.bash_profile
- fi
- export host=`hostname`
- export mail_dir=/users/robin/dba_scripts/sendEmail-v1.56
- export mail_list='Robinson.cheng@12306.com'
- export mail_fm='oracle@szdb.com'
- tmpfile=/tmp/ck_fs_space.txt
- alert=n
- # --------------------------------
- # Check the parameter
- # --------------------------------
- max=$1
- if [ ! ${2} ]; then
- echo "No filesystems specified."
- echo "Usage: ck_fs_space.sh 90 / /u01"
- exit 1
- fi
- # --------------------------------
- # Start to check the disk space
- # --------------------------------
- while [ "${2}" ]
- do
- percent=`df -P ${2} | tail -1 | awk '{print $5 }' | cut -d'%' -f1`
- if [ "${percent}" -ge "${max}" ]; then
- alert=y
- break
- fi;
- shift
- done;
- # ------------------------------------------------------------------------
- # When a partition was above the threshold then send mail with df output
- # ------------------------------------------------------------------------
- if [ ! "${alert}" = 'n' ];then
- df -h >$tmpfile
- mail_sub="Disk usage beyond the threshold ${max} on ${host}."
- $mail_dir/sendEmail -u ${mail_sub} -f $mail_fm -t $mail_list -o message-file=${tmpfile}
- fi;
- exit;
2、脚本说明
a、该脚本使用了 sendEmail 工具来发送邮件。
b、使用方式为"Usage: ck_fs_space.sh 90 / /u01" 。
c、脚本中使用了一个while循环来逐个判断所有的指定分区的空闲空间是否超出阙值。
d、对于超出阙值的情形发送邮件并且附上当前服务器上磁盘空间的使用情况。
转:http://blog.csdn.net/leshami/article/details/8893943
Linux/Unix shell 脚本监控磁盘可用空间的更多相关文章
- linux实现shell脚本监控磁盘内存达到阈值时清理catalina.out日志
想在服务器上写一个shell脚本,在磁盘使用率达到80%时,自动清理掉一些没有用的日志文件,根据这个想法,在生产环境上写了一个以下脚本,按照该流程,可实现在linux环境做一个定时任务来执行shell ...
- Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...
- Linux/Unix shell 脚本中调用SQL,RMAN脚本
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...
- Linux使用shell脚本监控
(1)性能监控脚本 performance.sh #!/bin/bash #-------------------------------------------------------------- ...
- zabbix 调用python脚本监控 磁盘剩余空间(创建模版,创建监控项,创建触发器)
主要 记录一下 使用zabbix 自己创建模版.监控项.触发器,并调用python脚本. 需求: 监控备份机磁盘剩余空间(windows系统) 一.安装zabbix_agent 比较简单 修改配置文 ...
- Linux/Unix shell 监控Oracle监听器(monitor listener)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell 监控Oracle告警日志(monitor alter log file)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell 监控Oracle实例(monitor instance)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell sql 之间传递变量
灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考. Lin ...
随机推荐
- return x>y?x:y ?:啥意思?
? :是一个三目运算符,先判断‘?’前面的,若为真,执行‘?’后面语句,else,执行‘:’后面语句! return (x>y?x:y) 即if(x>y) 执行xelse执行y
- Node 出现 uncaughtException 之后的优雅退出方案
Node 的异步特性是它最大的魅力,但是在带来便利的同时也带来了不少麻烦和坑,错误捕获就是一个.由于 Node 的异步特性,导致我们无法使用 try/catch 来捕获回调函数中的异常,例如: try ...
- Java常用类库
System System:类中的方法和属性都是静态的. out:标准输出,默认是控制台. in:标准输入,默认是键盘. System描述系统一些信息.获取系统属性信息:Properties getP ...
- Unit4中的Annotation
Unit4中的Annotation(注解.注释) JUnit4 使用 Java 5 中的注解(annotation),以下是JUnit4 常用的几个annotation介绍@Before:初始化方法@ ...
- STL中set底层实现方式
Q:STL中set底层实现方式? 为什么不用hash? A: 第一个问题:set底层实现方式为RB树(即红黑树). 第二个问题: 首先set,不像map那样是key-value对,它的key与valu ...
- 20个最受欢迎的Linux命令
http://code.csdn.net/news/2819566 1. 以 root 帐户执行上一条命令 sudo !! 2. 利用 Python 搭建一个简单的 Web 服务器,可通过 ht ...
- (转载)怎么写tab?
演示地址:http://www.adanghome.com/js_demo/3/ =========================================================== ...
- 高性能MySQL笔记-第1章MySQL Architecture and History-001
1.MySQL架构图 2.事务的隔离性 事务的隔离性是specific rules for which changes are and aren’t visible inside and outsid ...
- JavaWeb项目开发案例精粹-第4章博客网站系统-001设计
1. 2. 3. # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET SQL_MO ...
- 288. Unique Word Abbreviation
题目: An abbreviation of a word follows the form <first letter><number><last letter> ...