SHELL訓練營--day12_shell練習
阿新 • • 發佈:2019-01-04
# 判斷本機80埠,未開則重啟服務。 #!/bin/bash [email protected] while: do n=`netstat -lntp|grep ':80 '|wc -l` # m=`nmap -p 80 127.0.0.1 |grep '80/tcp|awk '{print $2}'` if [ $n -eq 0 ] # if [ m == "closed" ] then /usr/local/apache/bin/apachectl -k restart 2>/tmp/apache.err pn=`pgrep -l httpd|wc -l` if [ $pn -eq 0 ] then python mail.py $m "80埠重啟失敗" “head -1 /tmp/apache.err” else python mail.py $m "80埠關閉" “已重啟HTTP服務” fi fi sleep 30 done #備份資料庫,本地備份一週,遠端拷貝並備份一個月。 #!/bin/bash d1=`date +%w` d2=`date +%d` local_backdir=/bak/mysql remote_bakdir=192.168.128.2::backup exec 1> /tmp/mysqlbak.log 2>/tmp/mysqlbak.err echo "mysql bakcup begin at `date`" mysqldump -uroot -pxxxx discz> $local_backdir/discuz.sql.$d1 rsync -za $local_backdir.sql.$d1 $remote_bakdir/discuz.sql.$d2 echo "mysql backup end at `date`" #判斷本地網路服務是否502,是則重啟php-fpm服務。 #!/bin/bash log=/data/log/access.log while: do 502_n=`tail -n 300 $log|grep -c ' 502 '` if [ -z "$502_n" ] then exit fi if [ $502_n -gt 100 ] then /etc/init.d/php-fpm restart >/dev/null 2>/tmp/php-fpm.err fpm_p_n=`pgrep -l php-fpm|wc -l` if [ $fpm_p_n -eq 0 ] then python mail.py
[email protected] "php-fpm重啟失敗" "head -1 /tmp/php-fpm.err" fi fi sleep 10 done # 文字文件 前5行刪除 含字母行,6~10行刪除字母 #!/bin/bash sed -n '1,5'p 1.txt |sed '/[a-zA-Z]/d' > 2.txt sed -n '1,5'd 1.txt |sed '1,5s/[a-zA-Z]//g' >>2.txt # 找例句中單詞字母數小於6的單詞 # Bash also interprets a number of multi-character options. #!/bin/bash c="Bash also interprets a number of multi-character options." n=`echo $c|awk -F '[ +-. ]' '{print NF}'` for ((i=1;i<$n;i++)) do l=`echo $c|awk -F '[ +-. ]' -v j=$i 'print $j}'|wc -L` if [ $l -lt 6 ] then echo $c|awk -F '[ +-. ]' -v j=$i 'print $j}' fi done