十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
寫一個shell腳本,通過curl -I 返回的狀態(tài)碼來判定所訪問的網(wǎng)站是否正常。
比如,當狀態(tài)碼為200時,才算正常。
簡陽網(wǎng)站建設公司成都創(chuàng)新互聯(lián),簡陽網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為簡陽1000多家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的簡陽做網(wǎng)站的公司定做!
#!/bin/bash
#這個腳本用來判斷一個網(wǎng)址是否正常
#作者:猿課-阿銘 www.apelearn.com
#日期:2018-11-01
url="http://www.apelearn.com/index.php"
mail_user=306798658@qq.com
code=`curl -I $url 2>/tmp/curl.err|head -1|awk '{print $2}'`
if [ -z "$code" ]
then
python mail.py $mail_user "$url訪問異常" "`cat /tmp/curl.err`"
exit
elif [ $code != "200" ]
then
curl -I $url &> /tmp/curl.log
python mail.py $mail_user "$url訪問異常 狀態(tài)碼$code" "`/tmp/curl.log`"
fi
將用戶家目錄(考慮到執(zhí)行腳本的用戶可能是普通用戶也可能是root)下面小于5KB的文件打包成tar.gz的壓縮包,并以當前日期為文件名前綴,例如,2018-03-15.tar.gz。
查看tar壓縮包里面的文件 tar -tf tar.gz
#!/bin/bash
#這個腳本用來打包用戶家目錄下小于5k的文件
#作者:猿課-阿銘 www.apelearn.com
#日期:2018-11-01
t=`date +%F`
cd $HOME
tar czf $t.tar.gz `find ./ -type f -size -5k|xargs`
一個同學不小心用iptables規(guī)則把sshd端口22給封掉了,結果不能遠程登陸,要想解決這問題,還要去機房,登錄真機去刪除這規(guī)則。 問題來了,要寫個監(jiān)控腳本,監(jiān)控iptables規(guī)則是否封掉了22端口,如果封掉了,給打開。 寫好腳本,放到任務計劃里,每分鐘執(zhí)行一次。
#!/bin/bash
#這個腳本用來解封22端口
#作者:猿課-阿銘 www.apelearn.com
#日期:2018-11-01
iptables -nvL INPUT --line-numbers |grep -w 'dpt:22' |awk '$4 ~/REJECT|DROP/ {print $1}' > /tmp/iptables.log
n=`wc -l /tmp/iptables.log`
if [ $n -gt 0 ]
then
for n in `tac /tmp/iptables.log`
do
iptables -D INPUT $n
done
fi
已知nginx訪問的日志文件在/usr/local/nginx/logs/access.log內(nèi),請統(tǒng)計下早上10點到12點 來訪ip最多的是哪個?
111.199.186.68 – [15/Sep/2017:09:58:37 +0800] “//plugin.php?id=security:job” 200 “POST //plugin.php?id=security:job HTTP/1.1″”http://a.lishiming.net/forum.php?mod=viewthread&tid=11338&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline” “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36”
203.208.60.208 – [15/Sep/2017:09:58:46 +0800] “/misc.php?mod=patch&action=ipnotice&_r=0.05560809863330207&inajax=1&ajaxtarget=ip_notice” 200 “GET /misc.php?mod=patch&action=ipnotice&_r=0.05560809863330207&inajax=1&ajaxtarget=ip_notice HTTP/1.1″”http://a.lishiming.net/forum.php?mod=forumdisplay&fid=65&filter=author&orderby=dateline” “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3141.7 Safari/537.36”
#!/bin/bash
#這個腳本用來分析Nginx訪問日志
#作者:猿課-阿銘 www.apelearn.com
#日期:2018-11-01
//定義語音為英文
export LANG=en
log="/usr/local/nginx/logs/access.log"
#時間的定義 1[01]:[0-5][0-9]:
t=`date +%d/%b/%Y:1[01]:[0-5][0-9]:`
egrep "$t" $log|awk '{print $1}' |sort -n |uniq -c |sort -n |tail -1 |awk '{print $2}'
寫一個shell腳本。提示輸入一個暫停的數(shù)字,然后從1打印到該數(shù)字。然后詢問是否繼續(xù)。繼續(xù)的話再輸入一個數(shù)字接著打印,否則退出腳本。
例:如果輸入的是5,打印1 2 3 4 5,然后繼續(xù)輸入15,然后打印6 7 …14 15 以此類推。
#!/bin/bash
#這個腳本用來打印數(shù)字
#作者:猿課-阿銘 www.apelearn.com
#日期:2018-11-01
#輸入一個數(shù)字
read -p "Please input a number: " n
#排除純數(shù)字
n1=`echo $n |sed 's/[0-9]//g'`
if [ -n "$n1" ]
then
echo "Please input a number."
exit
fi
for i in `seq 1 $n`
do
echo $i
done
#是否繼續(xù)打印
read -p "If continue? y/n" c
case $c in
n|N)
exit
;;
y|Y)
#第二次輸入數(shù)字
read -p "Please input a number: " n2
#判斷是否是純數(shù)字
n3=`echo $n2|sed 's/[0-9]//g'`
if [ -n "$n3" ]
then
echo "Please input a number."
exit
fi
#判斷第二個數(shù)字是否大于第一個數(shù)字
if [ $n2 -le $n ]
then
echo "$n2 should grater than $n."
exit
fi
for i in `seq $[$n+1] $n2`
do
echo $i
done
;;
*)
echo "Please input y or n."
;;
esac