• auto_send_tablespace定期发送表空间巡检到邮箱


    简述:周期定时发送表空间到指定邮箱内

    1.修改邮箱配置 /etc/mail.rc,具体细节见网上教程

    $ vi /etc/mail.rc
    set from=123456@qq.com
    set smtp=smtp.qq.com
    set smtp-auth-user=123456
    set smtp-auth-password=runoob
    set smtp-auth=login

    测试:
    echo hello word | mail -s " title" 123456@qq.com

    2.添加脚本到oracle用户的定时任务,可以调整执行时间,这是一周执行一次

    [oracle@app-db ~]$ crontab -l
    * * * * 1 /home/oracle/auto_send_tablespace.sh

    3.auto_send_tablespace.sh,注意修改$ip项,能否筛选出来服务器IP

    #!/bin/bash  
    # --------------------------------------------------------------------------+  
    #   Author : steven                                                     |   
    # --------------------------------------------------------------------------+  
    #  ip:注意修改网卡信息,尝试$ip是否能筛选出来ip
    # -------------------------------  
    #  Set environment here   
    # ------------------------------ 
    #su - oracle
    
    #创建文件
    source /home/oracle/.bash_profile ip
    =`/sbin/ifconfig ens160 | awk -F "[ :]+" 'NR==2 {print $3}'` date_str=`date "+%Y%m%d%H%M"` dir=/home/oracle/$ip send_file=$dir/$date_str.txt if [ ! -d "$dir" ]; then mkdir $dir touch $send_file else touch $send_file fi #cd /home/oracle/shell #查询表空间 echo -e " 表空间统计:" >> $send_file sqlplus -s "/ as sysdba" << EOF >> $send_file SELECT a.tablespace_name "表空间名称", 100-ROUND((NVL(b.bytes_free,0)/a.bytes_alloc)*100,2) "占用率(%)", ROUND(a.bytes_alloc/1024/1024,2) "容量(M)", ROUND(NVL(b.bytes_free,0)/1024/1024,2) "空闲(M)", ROUND((a.bytes_alloc-NVL(b.bytes_free,0))/1024/1024,2) "使用(M)" FROM (SELECT f.tablespace_name, SUM(f.bytes) bytes_alloc, SUM(DECODE(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytes FROM dba_data_files f GROUP BY tablespace_name) a, (SELECT f.tablespace_name, SUM(f.bytes) bytes_free FROM dba_free_space f GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name; exit EOF #发送邮件 mail -s "表空间统计:$ip" houzhih@yutong.com < $send_file #删除30天前的文件 find $dir -name "*.txt" -mtime +30 -exec rm -rf {} ;
    
    
  • 相关阅读:
    NumPy笔记:运算符(exp,sqrt,square)
    NumPy笔记:常用操作
    php字符操作
    laravel如何实现批量插入
    php中@符号的作用
    laravel如何实现数据的批量插入
    如何在laravel框架中使用阿里云的oss
    laravle如何设置mysql数据表前缀
    thinkphp视图中如何调用并且向控制器传参数
    thinkphp如何隐藏入口文件index.php
  • 原文地址:https://www.cnblogs.com/houzhiheng/p/13809496.html
Copyright © 2020-2023  润新知