Bash/Shell-脚本整理(长期更新)

轮询检测Apache状态并启用钉钉报警

#!/bin/bashshell_user="root"
shell_domain="apache"shell_list="/root/ip_list"
shell_row=`cat $shell_list |wc -l`function trans_text(){
text=$1curl 'https://oapi.dingtalk.com/robot/send?access_token=b4fcf5862088a1bc7f2bf66a' -H'Content-Type: application/json' -d'{      #指定钉钉机器人hook地址"msgtype": "text", "text": {"content": "'"$text"'"}, 
}'
}function apache_check_80(){ip=$1URL="http://$ip/index.html"HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`if [ $HTTP_CODE != 200 ]thentrans_text "
                            =================================================================\n $ip Apache 服务器状态异常,网页返回码: '"$HTTP_CODE"' 请及时处理 ! \n================================================================= \n"
    fi
}while true
doshell_list="/root/ip_list"
shell_row=`cat $shell_list |wc -l`for temp in `seq 1 $shell_row`doIp_Addr=`cat $shell_list |head -n $temp |tail -n 1`apache_check_80 $Ip_Addrdonesleep 10
done

 

一台监控主机,一台被监控主机。被监控主机分区使用率大于80%,就发告警邮件。放到crontab里面,每10分钟执行一次。

#!/bin/bashFSMAX="80"     
remote_user='root'  
remote_ip=(IP地址列表)  
ip_num='0'      while [ "$ip_num" -le "$(expr ${#remote_ip[@]} -l)"]  
do  
read_num='1'           ssh "$remote_user"@"${remote_ip[$ip_num]}"  df -h > /tmp/diskcheck_tmpgrep '^/dev/*'  /tmp/diskcheck_tmp | awk '{print $5}'|sed 's/\%//g'  > /tmp/diskcheck_num_tmpwhile [ "$read_num" -le $(wc -l < /tmp/diskcheck_num_tmp) ]  dosize=$(sed -n "$read_num" 'p'  /tmp/diskcheck_num_tmp)if [ "size" -gt "$FSMAX" ]then                       $(grep '^/dev/*'  /tmp/diskcheck_tmp |sed -n $read_num'p'  > /tmp/disk_check_mail)$(echo ${remote_ip[$ip_num]}) >> /tmp/disk_check_mail)$(mail  -s "diskcheck_alert"  admin  <  /tmp/disk_check_mail)fi                         read_num=$(expr  $read_num + 1)done               ip_num=$(expr  $ip_num + 1)
done  

 

监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告

#!/bin/bash  
#monitor available disk space  
#提取本服务器的IP地址信息    
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`      
SPACE=` df -hP | awk '{print int($5)}'`  
if [ $SPACE -ge 90 ]  
then  echo "$IP 服务器 磁盘空间 使用率已经超过90%,请及时处理。"|mail -s "$IP 服务器硬盘告警"   fty89@163.com  
fi  

 

自动ftp上传

#! /bin/bashftp -n << END_FTP  
open 192.168.1.22  
user  test testing      //用户名test  密码:testing  
binary  
prompt  off    //关闭提示  
mput   files     //上传files文件  
close  
bye  
END_FTP  

 

mysqlbak.sh备份数据库目录脚本

#!/bin/bashDAY=`date +%Y%m%d`
SIZE=`du -sh /var/lib/mysql`
echo "Date: $DAY" >> /tmp/dbinfo.txt
echo "Data Size: $SIZE" >> /tmp/


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部