Shell腳本自動化編寫
- Shell腳本自動化編寫
- 一、判斷當前磁盤剩余空間是否有20G,如果小于20G,則將報警郵件發送給管理員,每天檢查一次磁盤剩余空間。
- 第一步:準備工作
- 第二步:配置郵件信息
- 第三步:檢查磁盤的自動化腳本
- 二、判斷web服務是否運行(1、查看進程的方式判斷該程序是否運行,2、通過查看端口的方式判斷該程序是否運行),如果沒有運行,則啟動該服務并配置防火墻規則。
- 第一步:準備工作
- 三、使用curl命令訪問第二題的web服務,看能否正常訪問,如果能正常訪問,則返回web services running;如果不能正常訪問,返回12狀態碼。
Shell腳本自動化編寫
一、判斷當前磁盤剩余空間是否有20G,如果小于20G,則將報警郵件發送給管理員,每天檢查一次磁盤剩余空間。
第一步:準備工作
下載所需軟件
[root@master ~]# yum install mailx -y &> /dev/null # "&> /dev/null" 不顯示下載內容,丟到系統垃圾桶
第二步:配置郵件信息
1、配置郵件ssl證書
[root@master ~]# mkdir -p /root/.certs
[root@master ~]# cd /root/.certs[root@master .certs]# echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt[root@master .certs]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt[root@master .certs]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt[root@master .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
2、獲取授權碼
# 進入qq郵箱網頁版 --> 設置 --> 賬號 --> 招到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務開啟服務 --> 獲取授權碼
3、配置郵件服務
[root@master ~]# vim /etc/mail.rc
# 最后一行添加以下內容:set from=119****167@qq.com # 填自己的qq郵箱
set smtp=smtps://smtp.qq.com:465 # ssl端口默認465
set smtp-auth-user=119****167@qq.com # 填自己的qq郵箱
set smtp-auth-password=doc****qdubqbibj # 授權碼
set smtp-auth=login
set nss-config-dir=/root/.certs/ # 設置證書路徑
set ssl-verify=ignore # 啟用加密ssl傳輸# 注意:該文件輸入完畢有的系統需要強制保存退出,輸入wq!
4、測試郵件服務
[root@master .certs]# echo "Hello Dyy" | mail -s "HXD" 119****167@qq.com
第三步:檢查磁盤的自動化腳本
1、編輯檢查磁盤的自動化腳本
[root@master ~]# vim disk.sh # 創建檢查磁盤容量腳本#!/bin/bash
# 功能:磁盤剩余容量檢查
disk=$(df -m | grep -w / | tr -s " " | cut -d " " -f4)
if (($disk<200000))
then echo "Warning : disk space less than 20G" | mail -s "郵箱>警告!" 119*****67@qq.com
fi
2、檢測
[root@master ~]# bash disk.sh
3、每天檢查一次磁盤剩余空間
# 編輯時間任務器
[root@master ~]# vim /etc/crontab
二、判斷web服務是否運行(1、查看進程的方式判斷該程序是否運行,2、通過查看端口的方式判斷該程序是否運行),如果沒有運行,則啟動該服務并配置防火墻規則。
第一步:準備工作
1、編輯腳本文件
# 進入腳本文件
[root@master ~]# vim choice_server.sh
2、測試
[root@master ~]# bash choice_server.sh
3、通過查看端口的方式判斷該程序是否運行
[root@master ~]# netstat -lntup | grep 22 | grep tcp -w
三、使用curl命令訪問第二題的web服務,看能否正常訪問,如果能正常訪問,則返回web services running;如果不能正常訪問,返回12狀態碼。
1、編輯腳本文件
# 進入腳本文件
[root@master ~]# vim check_web.sh
2、測試
[root@master ~]# bash check_web.sh
Web services running!