Time of Update: 2017-01-18
複製代碼 代碼如下:#!/bin/bash while [ "1" ] do eth=$1 RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}') TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}') sleep 1 RXnext=$(cat
Time of Update: 2017-01-18
在沒有nagios監視軟體的情況下,只要伺服器能上互連網,就可通過發郵件的方式來提醒管理員系統負載與CPU佔用的使用方式。一、安裝linux下面的一個郵件用戶端msmtp軟體(類似於一個foxmail的工具) 1、下載安裝: http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0 複製代碼 代碼如下:# tar jxvf msmtp-1.4.
Time of Update: 2017-01-18
Linux下如何統計目前的目錄下檔案有多少個,目錄又有多少個呢?下面用shell寫一個指令碼,放置在目前的目錄下,執行即可。複製代碼 代碼如下: #!/bin/bash #指令碼名稱 dir#定義一個函數fun_directory fun_directory() { let "filenum=0" let "dirnum=0" for i in $( ls
Time of Update: 2017-01-18
最近世界盃來了,一直忙於工作和世界盃之間,都沒有空來管管我的blog了,今天只能整個簡單的小shell給大家了.公司要求刪除一個月之前的備份檔案,免得把硬碟給整爆了,上伺服器看了下,居然都有3個月的備份沒有清理了,還好是sql備份,不然硬碟空間早就滿了.下面是我的解決辦法:複製代碼 代碼如下:cat delbak.sh#!/bin/shlocation="/root/sqlbak/"find $location -mtime +30 -type f |xargs rm
Time of Update: 2017-01-18
最近在調試伺服器的iptables,自己做了個定時關iptables,但晚上回家很少開電腦,所以就沒法去啟動iptables,當然你可能會說,為什麼不取消定時關閉iptables,我只能說個人的環境不一樣,需求也就不一樣.指令碼內容:複製代碼 代碼如下:vi iptables-reset.sh#!/bin/bashport=`iptables -vL|grep ssh|awk '{split($NF,a,":");print a[2]}'|wc -l`if [ $port = 1
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/bin/bash echo -e `date +%y%m%d%H%M` echo -e "PID\t\tSwap\t\tProc_Name" # 拿出/proc目錄下所有以數字為名的目錄(進程名是數字才是進程,其他如sys,net等存放的是其他資訊)for pid in `ls -l /proc | grep ^d | awk '{ print $9 }'| grep -v [^0-9]`do #
Time of Update: 2017-01-18
基礎知識shell執行方式 sh xx.sh (檔案須有r許可權) || ./xx.sh (檔案須有x許可權) 註:sh xx.sh方式比較安全檔案名稱尾碼 .shshell內容開頭 #!/bin/bash || #!/bin/sh || #!/bin/csh || #!/bin/ksh 註:#!/bin/bash 使用比較多退出 exit 0變數賦值與使用不需要定義即可直接使用
Time of Update: 2017-01-18
今天在網上看到一個求web串連平均時間的shell命令,在自己的機器上試了下,發現不能使用,居然出現awk: fatal: division by zero attempted這樣的錯誤,毛了就自己改了下shell命令.原shell指令碼例子:複製代碼 代碼如下:cat access.log|grep "connect cbp" |awk 'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",
Time of Update: 2017-01-18
一直都想把expect的操作寫到bash指令碼裡,這樣就不用我再寫兩個指令碼來執行了,搞了一下午終於有點小成就,給大家看看吧.系統:centos 5.x1.先安裝expect複製代碼 代碼如下:yum -y install expect2.指令碼內容:複製代碼 代碼如下:cat auto_svn.sh#!/bin/bashpasswd='123456'/usr/bin/expect <<-EOFset time 30spawn ssh -p18330 root@192.168.10.
Time of Update: 2017-01-18
今天公司同事要我整個adsl自動重撥的shell,並檢測是否連上了,這樣才能保證自我裝載伺服器不掉網,好吧,下面我把指令碼發出來.系統:centos 5.x指令碼1:複製代碼 代碼如下:cat /root/soft_shell/auto_adsl_1.sh #!/bin/bashgateway=`ifconfig ppp0 |grep P-t-P| cut -f 3 -d ":"|cut -f 1 -d " "`inter=`ifconfig |grep ppp0|awk '{print $1}
Time of Update: 2017-01-18
今天發現個可以檢測系統檔案完整性的shell指令碼,自己試了下還可以吧,介紹給大家。系統:centos 5.x指令碼內容:複製代碼 代碼如下:cat my_filecheck.sh#!/bin/bash## 變數首先聲明才能使用shopt -s -o nounset # 聲明 # 建立日期 Date=$(date +'%Y%m%d%H%M%S') #
Time of Update: 2017-01-18
複製代碼 代碼如下:#/bin/bash#該指令碼用於統計硬碟空間和資料表空間的使用方式,並郵件發出#初始化環境變數source /home/oracle/.bash_profile#獲得本機ipip=`/sbin/ifconfig eth0 | grep Bcast | cut -d : -f 2 | cut -d " " -f 1`#切換到本指令碼目錄cd /home/oracle/shell/#刪除之前該指令碼產生的記錄檔rm -rf $ip.txt#統計硬碟空間echo -e "您好!&
Time of Update: 2017-01-18
花了1天的時間寫了一個檢測某ip是否網路暢通的指令碼,只檢測網路是否暢通的功能很容易實現,但加了一些限制功能卻不好實現。複製代碼 代碼如下:#!/bin/bash#####################################################################################本指令碼放於異機,使用定時任務檢測192.168.10.231是否網路暢通,如果不通則發簡訊警示 #為防止頻繁收到簡訊,對傳送簡訊做了如下限制:
Time of Update: 2017-01-18
這幾天發現CentOS系統記憶體一直漲,即使把apache和mysql關閉了,記憶體也不釋放,可以使用以下指令碼來釋放記憶體: 指令碼內容: 複製代碼 代碼如下: #! /bin/bash # cache釋放: # To free pagecache:
Time of Update: 2017-01-18
介紹一個強大的分析網路的shell指令碼,此指令碼是從EZHTTP拆分出來的,覺得有必要單獨介紹下。指令碼運行效果截圖:此指令碼包含的功能有:1、即時監控任意網卡的流量2、統計10秒內平均流量3、統計每個連接埠在10秒內的平均流量,基於用戶端和服務端連接埠統計。可以看出哪些連接埠占流量比較大,對於web伺服器,一般是80連接埠。其它連接埠受到攻擊時,也有可能其它連接埠流量比較大。所以此功能可以協助我們連接埠流量是否正常。4、統計在10s內佔用頻寬最大的前10個ip。此項功能可以協助我們來查出是否
Time of Update: 2017-01-18
說明:大家平時對Linux伺服器安全主要是對系統使用者的檢查,登陸伺服器IP檢查,以及防火牆狀態檢查!1.需要把正確系統使用者名稱儲存在/root/liu_shell/local_user.txt檔案中,然後進行比較!2.對登陸IP判斷是不是以192.168.1和192.168.2開頭的IP為正常IP!3.判斷iptables狀態!複製代碼 代碼如下: #!/usr/bin/python#coding=utf-8import
Time of Update: 2017-01-18
1. 取今天時間複製代碼 代碼如下:$date -d "now" +%Y-%m-%d 2. 取昨天時間複製代碼 代碼如下:$date -d "yesterday" +%Y-%m-%d $date -d "1 days ago" +%Y-%m-%d ## -d, --date=STRING display time described by STRING, not `
Time of Update: 2017-01-18
寫一個指令碼檢查Apache進程是否存在,若不存在則顯示不存在,若存在則顯示進程個數,當不等於10個時用紅色字型通知管理員,並詢問管理員是否啟動Apache服務。複製代碼 代碼如下: #!/bin/bash#echo "$(service httpd status)"PIDNUM=$(pgrep httpd | wc -l)if [[ $PIDNUM -eq 0 ]];then echo "Apache is
Time of Update: 2017-01-18
現在單位為了省錢,我用了shell指令碼,簡單的寫了一個監控。通過curl一個固定式頁面面的200狀態代碼,如果是200,就說網站是正常的,如果不是200就自動重啟網站,然後發郵件到QQ郵箱。自己在上QQ的同時,通過微信也可以收到警示,不但可以收到警示,還可以解決問題。基本上也可以解決web的故障。複製代碼 代碼如下: #! /bin/bashsource /etc/profileA="web is Good !"ip=`ifconfig eth0 | grep "inet
Time of Update: 2017-01-18
對於shell中的終端列印感覺很好玩!首Crowdsourced Security Testing道shell中終端列印有echo printf一般常用的就是echo咯;註:字型顏色 重設=0,黑色=30,紅色=31,綠色=32, ***=33,藍色=34, 洋紅=35, 青色=36, 白色=37. 背景顏色 重設=0,黑色=40,紅色=41,綠色=42, ***=43,藍色=44, 洋紅=45, 青色=46, 白色=47.要列印彩色文本,可輸入如下命令: 複製代碼