shell編程實戰19

1. 統計併發量java

 

2. 關閉服務python

 

3. 完全關閉tomcat服務tomcat

#!/bin/bashbash

dir=/usr/local/tomcat/bin/併發

java_pc()
{
pgrep java|wc -l
}ssh

cd $dir
./shutdown.sh函數

count=0spa

## 連續5次killall,若是不能kill掉就退出循環,接下來使用killall -9命令
while [ $count -lt 5 ]
do
n=`java_pc`
if [ $n -gt 0 ]
then
killall java
count=$[$count+1]
sleep 1
else
break
fi
done

n=`java_pc`
if [ $n -gt 0 ]
then
killall -9 java
fiblog

n=`java_pc`
if [ $n -gt 0 ]
then
echo "Tomcat沒法強制殺死。"
exit
fi進程

cd $dir
./startup.sh

4. 去掉文件名後綴

 

5. 檢測域名是否到期

#!/bin/bash

mail_u=admin@admin.com
#當前日期時間戳,用於和域名的到期時間作比較
t1=`date +%s`

#檢測whois命令是否存在,不存在則安裝jwhois包
is_install_whois()
{
which whois >/dev/null 2>/dev/null
if [ $? -ne 0 ]
then
yum install -y epel-release ## 安裝epel源(yum源)
yum install -y jwhois
fi
}

notify()
{
#e_d=`whois $1|grep 'Expiry Date'|awk '{print $4}'|cut -d 'T' -f 1`
e_d=`whois $1|grep 'Expiration'|tail -1 |awk '{print $5}' |awk -F 'T' '{print $1}'`
#若是e_d的值爲空,則過濾關鍵詞'Expiration Time'
if [ -z "$e_d" ]
then
e_d=`whois $1|grep 'Expiration Time'|awk '{print $3}'`
fi

#將域名過時的日期轉化爲時間戳
e_t=`date -d "$e_d" +%s`
#計算一週一共有多少秒
n=`echo "86400*7"|bc`
e_t1=$[$e_t-$n]
e_t2=$[$e_t+$n]

if [ $t1 -ge $e_t1 ] && [ $t1 -lt $e_t ]
then
python mail.py $mail_u "Domain $1 will to be expired." "Domain $1 expire date is $e_d."
fi
if [ $t1 -ge $e_t ] && [ $t1 -lt $e_t2 ]
then
python mail.py $mail_u "Domain $1 has been expired" "Domain $1 expire date is $e_d."
fi
}

#檢測上次運行的whois查詢進程是否存在;若存在,須要殺死進程,以避免影響本次腳本執行
if pgrep whois &>/dev/null ## 前面是函數,這裏是程序入口
then
killall -9 whois
fi

is_install_whois

for d in aaa.com bbb.com aaa.cn
do
notify $d
done

6. 自動密匙認證

#!/bin/bash

read -p "輸入一個IP地址: " ip
read -p "輸入此機器的root密碼: " pasd

is_install()
{
if ! rpm -q $1 &>/dev/null
then
yum installl -y $1
fi
}

is_install openssh-clients
is_install expect

if [ ! -f ~/.ssh/id_rsa.pub ]
then
echo -e "\n" |ssh-keygen -P ''
fi

cat > key.expect <<EOF
#!/usr/bin/expect
set host [lindex \$argv 0]
set passwd [lindex \$argv 1]
spawn ssh-copy-id root@\$host
expect {
"yes/no" { send "yes\r"; exp_continue}
"password:" { send "\$passwd\r" }
}
expect eof
EOF

chmod a+x key.expect

./key.expect $ip $pasd

相關文章
相關標籤/搜索