if 條件語句語法
1.單分支結構mysql
if < 條件表達式 >; then 指令 fi
2.雙分支結構sql
if < 條件表達式 >; then 指令 1 else 指令 2 fi
3.多分支結構數據庫
if < 條件表達式 1 >; then 指令 1 else if < 條件表達式 2 >;then 指令 2 elif < 條件表達式 3 >;then 指令 3 else 指令 4 fi
if 條件語句多種條件表達式語法
1.test 條件表達式bash
if test 表達式;then 指令 if
if [ 表達式 ];then 指令 if
if [[ 表達式 ]];then 指令 if
if (( 表達式 ));then 指令 if
5.命令表達式 ide
if 命令;then 指令 if
案例一:
編寫 Shell 腳本判斷系統剩餘內存大小,爲方便測試,若是低於 1000M,則發送郵件報警,加入定時任務,每 3 分鐘執行一次
1.安裝 mail 客戶端測試
yum install mail -y echo " set from=user@163.com smtp=smtp.163.com set smtp-auth-user=user@163.com smtp-auth-password=password smtp-auth=login " >> /etc/mail.rc
2.編輯 Shell 腳本code
#!/bin/bash free=`free -m|awk 'NR==3{print $NF}'` age="Mem:$free insufficient memory" if [ $free -lt 1000 ];then echo $age|tee /home/while.log mail -s "`date -u +%F_%X`" user@163.com < /home/while.log fi
案例二:
簡單判斷數據庫服務是否正常運行
方法一:內存
#!/bib/basg if [ `netstat -lntp|grep mysqld|wc -l` -gt 0 ];then echo "zheng chang" else echo "yi chang" fi
方法二:ci
#!/bib/basg if [ `ps -fe|grep mysqld|grep -v grep|wc -l` -gt 0 ];then echo "zheng chang" else echo "yi chang" fi
方法三:it
#!/bin/bash [ `rpm -qa nmap|wc -l` -lt 1 ] && yum install nmap -y &>/dev/null if [ `nmap 192.168.1.1 -p 3306 2>/dev/null|grep open|wc -l` -gt 0 ];then echo "zheng chang" else echo "yi chang" service mysqld start fi
方法四:
#!/bin/bash [ `rpm -qa nc|wc -l` -lt 1 ] && yum install nc -y &>/dev/null if [ `nc -w 2 192.168.1.1 3306 &>/dev/null && echo ok | grep ok | wc -l` -gt 0 ];then echo "zheng chang" else echo "yi chang" service mysqld start fi