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、对于超出阙值的情形发送邮件并且附上当前服务器上磁盘空间的使用情况。

 

更多参考:

有关Oracle RAC请参考
     使用crs_setperm修改RAC资源的所有者及权限     使用crs_profile管理RAC资源配置文件     RAC 数据库的启动与关闭     再说 Oracle RAC services     Services in Oracle Database 10g     Migrate datbase from single instance to Oracle RAC     Oracle RAC 连接到指定实例     Oracle RAC 负载均衡测试(结合服务器端与客户端)     Oracle RAC 服务器端连接负载均衡(Load Balance)     Oracle RAC 客户端连接负载均衡(Load Balance)     ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
     ORACLE RAC 监听配置 (listener.ora tnsnames.ora)     配置 RAC 负载均衡与故障转移     CRS-1006 , CRS-0215 故障一例 
     基于Linux (RHEL 5.5) 安装Oracle 10g RAC
     使用 runcluvfy 校验Oracle RAC安装环境

有关Oracle 网络配置相关基础以及概念性的问题请参考:
     配置非默认端口的动态服务注册
     配置sqlnet.ora限制IP访问Oracle     Oracle 监听器日志配置与管理
     设置 Oracle 监听器密码(LISTENER)     配置ORACLE 客户端连接到数据库

有关基于用户管理的备份和备份恢复的概念请参考
     Oracle 冷备份     Oracle 热备份     Oracle 备份恢复概念     Oracle 实例恢复     Oracle 基于用户管理恢复的处理     SYSTEM 表空间管理及备份恢复     SYSAUX表空间管理及恢复     Oracle 基于备份控制文件的恢复(unsing backup controlfile)

有关RMAN的备份恢复与管理请参考
     RMAN 概述及其体系结构     RMAN 配置、监控与管理     RMAN 备份详解     RMAN 还原与恢复     RMAN catalog 的创建和使用     基于catalog 创建RMAN存储脚本     基于catalog 的RMAN 备份与恢复     RMAN 备份路径困惑     使用RMAN实现异机备份恢复(WIN平台)     使用RMAN迁移文件系统数据库到ASM     linux 下RMAN备份shell脚本     使用RMAN迁移数据库到异机

有关ORACLE体系结构请参考
     Oracle 表空间与数据文件     Oracle 密码文件     Oracle 参数文件     Oracle 联机重做日志文件(ONLINE LOG FILE)     Oracle 控制文件(CONTROLFILE)     Oracle 归档日志     Oracle 回滚(ROLLBACK)和撤销(UNDO)     Oracle 数据库实例启动关闭过程     Oracle 10g SGA 的自动化管理     Oracle 实例和Oracle数据库(Oracle体系结构)

时间: 2024-10-03 14:10:11

Linux/Unix shell 脚本监控磁盘可用空间的相关文章

Linux/Unix shell 脚本跨服务器跨实例执行SQL

      在DB运维的过程中,难免碰到需要跨多个服务器以及多个Oracle实例查询数据库的情形.比如我们需要查看当前所有生产环境数据库上open_cursor参数的值以便考虑是否需要增加.而需要查看的数据库服务器上有多个实例,同时又存在多个数据库服务器,这样子下来,几十个DB,上百个的情形一个个查,那得把人给累死.那就像点办法撒,写个shell脚本,轮巡所有服务器及服务器上的所有实例.见本文的描述.      关于shell脚本中如何调用SQL,可以参考下列链接:           Linu

Linux/Unix shell 脚本中调用SQL,RMAN脚本

        Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可少的技能之一.本文针对Linux/Unix shell脚本调用sql, rman 脚本给出了相关示例.   一.由shell脚本调用sql,rman脚本 1.shell脚本调用sql脚本 #首先编辑sql文件 oracle@SZDB:~> more dept.sql connect

linux中shell脚本监控网站80端口与网站是否正常

监控网站80端口 很多时候我们不知道网站80端口是否正常,当然我以前的shell监控网站状态(续)这篇文章也可以监控网站,这里只是给大家提供另外一个思路去监控网站. 脚本内容:  代码如下 复制代码 vi check-80.sh #!/bin/bash nmap -P0 -p80 -sS -vv blog.slogra.com|grep 80 |tail -n1>/tmp/nmap.txt check_80=`cat /tmp/nmap.txt|awk '{print $2}'` if [ &quo

Linux/Unix shell 脚本清除归档日志文件

      对于DEV以及UAT环境,有些时候,数据库需要处于归档模式,但并不需要备份数据库.因此,archive归档日志不停的增长导致磁盘空间被大量耗用.对于这种情形,可以使用一个shell脚本来定时自动清除这些归档日志.本文给出了清除归档日志的脚本.   1.清除归档日志shell脚本   robin@SZDB:~/dba_scripts/custom/bin> more remove_arch_dump.sh #!/bin/bash # --------------------------

Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来监控 Oracle 告警日志(monitor alter log file).     Linux Shell的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之

Linux/Unix shell 监控Oracle监听器(monitor listener)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来监控 Oracle 监听器.     Linux Shell的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之间传递变量        Linux/Unix s

Linux/Unix shell 自动导入Oracle数据库

      使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来实现自动导入Oracle数据库.        Linux Shell以及导入导出的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之间传递变量       

Linux/Unix shell 自动 FTP 备份档案

       使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来实现自动FTP备份档案.        Linux Shell以及导入导出的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之间传递变量        Li

Linux/Unix shell 调用 PL/SQL

    Linux/Unix 下除了调用SQL之外,调用PL/SQL也是DBA经常碰到的情形,下面主要通过一些示例给出如何在shell下面来调用pl/sql.     其它相关的参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本         Linux/Unix shell sql 之间传递变量 1.将pl/sql代码逐行输入到临时文件 robin@SZDB:~/dba_scripts/custom/bin> more shell_call_plsql.s