linux網路自動分析shell指令碼

2021-07-04 13:31:01 字數 2212 閱讀 6813

#/bin/sh

#刪除兩個日誌檔案

rm -f netpreconfig.log

rm -f netafterconfig.log

#儲存配置前的ifconfig內容到日誌1

ifconfig -a > netpreconfig.log

#確定網絡卡是否啟動

grep 'up broadcast running' ./netpreconfig.log |grep -v '#' > /dev/null

#若沒有則啟動網絡卡

if [ $? -eq 0 ]; then

ifconfig eth0 up

fi#若輸入的引數個數為0,則配置預設路由

if [ $# -eq 0 ]; then #if no parameter

ifconfig eth0 192.168.149.132 netmask 255.255.255.0

#若輸入引數個數為2,則根據輸入引數來配置

elif [ $# -eq 2 ]; then

ifconfig eth0 $1 netmask $2

#若輸入引數個數不符合要求,則輸出錯誤提示資訊

else

echo "usage1:`basename $0`"

echo "usage2: `basename $0` ip netmask "

echo "your form is wrong!"

exit 1

fi#增加預設路由,此處重複執行可能會列印出提示資訊,但不影響配置

route add default gw 192.168.149.2 > /dev/null

#將配置後的ifconfig內容放入日誌檔案2

ifconfig -a > netafterconfig.log

#讀取日誌檔案2列印出ip等重要資訊

echo "now important parameters are follows:"

while read line;

dotmp=`echo $line|awk ''`

if [ "$tmp" = "lo" ]; then

break

fitmp=`echo $line|awk -f 'addr:| bcast' '/bcast/'` > /dev/null

if [ -n "$tmp" ]

then

echo ip4=$tmp

fitmp=`echo $line|awk -f 'hwaddr ' ''` > /dev/null

if [ -n "$tmp" ]; then

echo hwaddr=$tmp

fi

tmp=`echo $line|awk -f 'bcast:' ''|awk -f 'mask:' ''` > /dev/null

if [ -n "$tmp" ]; then

echo bcast=$tmp

fitmp=`echo $line|awk -f 'bcast:' ''|awk -f 'mask:' ''`

if [ -n "$tmp" ]; then

echo mask=$tmp

fitmp=`echo $line|awk -f 'addr:| scope' '/scope/'`

if [ -n "$tmp" ]; then

echo ip6=$tmp

fidone < netafterconfig.log

#配置完成後ping外網

result=`ping -c1 172.22.0.90|head -2 |tail -1`

t_time="`date +%c`"

echo "after configuration,let's begin pinging:"

if [ `echo $result|grep "^64"|wc -l` -eq 0 ];then

echo "*********ping warning********$t_time"

echo "$result"

echo "it is wrong!!!"

else

ping -c4 172.22.0.90

echo "configuration success!!!"

fi

exit 0

執行指令碼可自動設定網路,根據自行需要更改指令碼中的ip

linux mysql自動備份方案 shell

shell備份指令碼 bin sh backpath dbbackup mysqlbackup usr local mysql bin mysql uusername ppassword e flush logs usr local mysql bin mysqldump uusername ppa...

linux命令 linux系統介紹 shell介紹

檔案操作 1.mkdir 建立乙個新的目錄 2.cd 切換目錄 3.cp 複製檔案或目錄 4.ls 列出檔案 5.cat 檢視檔案 6.pwd 顯示當前路徑 7.rm 移除檔案或目錄 8.rmdir 刪除乙個空的目錄 9.mv移除檔案與目錄,或修改檔案與目錄的名稱 檔案許可權屬性介紹 檔案型別 d目...

使用iptables自動封IP的Shell指令碼

此指令碼用於分析統計secure日記檔案,對ssh登入錯誤次數較多的ip用iptables封掉,可以防止ssh被暴力破解。bin bash created by tenji in 2014 10 22 num 10 上限 for i in awk failed var log secure sort...