Time of Update: 2017-01-18
功能:1. 只在備份機執行,遠端伺服器只需要允許備份機用root通過密鑰登入;2. 在備份機上配置需要備份哪些伺服器,在NEED_BACKUP_SERVERS這個數組增減;3. 在備份機上配置需要備份伺服器上哪些檔案,在NEED_BACKUP_DETAIL這個數組增減,如果需要備份某台伺服器上NEED_BACKUP_DETAIL數組裡定義的某個檔案就備份,不存在的檔案則自動跳過,例如Web伺服器上沒my.cnf , 也沒有影響;4.
Time of Update: 2017-01-18
shift可以用來向左移動位置參數。Shell的名字 $0第一個參數 $1第二個參數 $2第n個參數 $n所有參數 $@ 或 $*參數個數 $#shift預設是shift 1以下邊為例:複製代碼 代碼如下:cat shift.sh#----------------------------輸出文字-開始----------------------------#!/bin/bashuntil [ -z "$1" ] # Until all parameters used
Time of Update: 2017-01-18
以下指令碼,可以進行目錄或檔案大小寫字母轉換,代碼如下: 複製代碼 代碼如下: #!/bin/sh #edit by www.jb51.net # [:upper:] [ A - Z ] # [:lower:] [ a - z ] # [:digit:] [ 0 - 9 ] # [:alnum:] [ 0 - 9 a - z A-Z] # [:space:] 空格或t a b鍵 # [:alpha:] [ a - z A - Z ] # tr for f in * do echo $f |
Time of Update: 2017-01-18
1,提取系統負載資訊複製代碼 代碼如下:#!/bin/shhost=$(hostname)channel=$(hostname | sed 's/[0-9]//g')runday=$(date +%Y-%m-%d)IPhost=$(/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')i=1 while [ $i -le 120 ];do
Time of Update: 2017-01-18
該Shell指令碼主要用於新安裝Linux伺服器系統的初始化工作,具體包括: 關閉IPv6模組 關閉SELinux 讓vim顯示顏色 設定系統語言編碼 最佳化系統服務 核心參數最佳化等。 可以根據自己的實際情況修改,可用於生產環境。原作者是NetSeek,本人做了部分修改。 複製代碼 代碼如下: #!/bin/sh # desc: lsm03624 modified by www.webnginx.com #-------------------cut begin----------------
Time of Update: 2017-01-18
本文介紹了幾個常用的Linux監控指令碼,可以實現主機網卡流量、系統狀況、主機磁碟空間、CPU和記憶體的使用方式等方面的自動監控與警示。根據自己的需求寫出的shell指令碼更能滿足需求,更能細化主機監控的全面性。 最近時不時有互連網的朋友問我關於伺服器監控方面的問題,問常用的伺服器監控除了用開源軟體,比如:cacti,nagios監控外是否可以自己寫shell指令碼呢?根據自己的需求寫出的shell指令碼更能滿足需求,更能細化主機監控的全面性。
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/bin/sh# desc: setup linux system security# author:coralzd # powered by www.freebsdsystem.org# version 0.1.2 written by 2011.05.03#account setuppasswd -l xfspasswd -l newspasswd -l nscdpasswd -l dbuspasswd -l vcsapasswd -l gamespasswd -l
Time of Update: 2017-01-18
本文詳細介紹了使用shell去除檔案中的空行的方法,學習下sed、awk、shell檔案檢測的方法,有需要的朋友可以作個參考。本節內容:shell去掉檔案中空行1,shell 去掉檔案中的空行 複製代碼 代碼如下:cat filename | sed -e '/^$/d' > filename 2,保留最新的9個檔案,其它的檔案刪除的命令語句 複製代碼 代碼如下:ls -t | awk '{if(NR>9){print $0}}' |xargs rm -f
Time of Update: 2017-01-18
複製代碼 代碼如下:#! /bin/sh # filename killcpu.sh if [ $# != 1 ] ; then echo "USAGE: $0 <CPUs>" exit 1; fifor i in `seq $1` do echo -ne " i=0; while true do i=i+1; done" | /bin/sh & pid_array[$i]=$! ;
Time of Update: 2017-01-18
1. WScript.Shell(Windows Script Host Runtime Library)是一個對象,對應的檔案是C:\WINDOWS\system32\wshom.ocx,Wscript.shell是伺服器系統會用到的一種組件。shell 就是“殼”的意思,這個對象可以執行作業系統外殼常用的操作,比如運行程式、讀寫註冊表、環境變數等。這個對象通常被用在VB或VBS編程中。 2. 安裝WScript.Shell對象:regsvr32 WShom.Ocx
Time of Update: 2017-01-18
需求前兩天碰到需要在十層左右的檔案夾中提取檔案的需求,於是寫了此指令碼。如下面這樣的檔案結構:複製代碼 代碼如下: dir1 ├── a │ ├── b │ │ └── file1 │ └──
Time of Update: 2017-01-18
今天在寫一個shell指令碼的時候發現需要設定使用者的密碼,而設定密碼是互動,這樣在指令碼中顯然是不太好的,因此上網尋找資料,發現了以下兩種常見的非互動式設定密碼的方式:1:使用chpasswdchpasswd其實是通過使用者輸入'使用者名稱:密碼'來更改一組使用者的密碼,還是一個可以批量修改密碼的工具,具體的用法詳見chpasswd用法,這裡只做簡單的介紹格式:# echo 使用者名稱:密碼 | chpasswd執行個體:添加一個doiido的帳號,密碼為123456複製代碼 代碼如下:#
Time of Update: 2017-01-18
複製代碼 代碼如下:[root@web-server php]# /etc/init.d/httpd restartshell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory該錯誤表示 getcwd 命令無法定位到當前工作目錄。一般來說是因為你 cd 到了某個目錄之後 rm 了這個目錄,這時去執行某些 service
Time of Update: 2017-01-18
需要對字串尋找其中某個字元最後出現的位置,這個在PHP (strrpos)或者Perl (rindex)裡面都有現成函數可用的功能,在Shell裡面居然一時想不出個道道來。在論壇上發貼也沒人解答(不知道是問題太簡單還是真的很高深...)。因為事情緊急等不得,於是求救大學同學。Pacman不愧是箇中高手,三兩下點醒夢中人:rindex.sh代碼:複製代碼 代碼如下:#!/bin/bashstrToCheck=$1;charToSearch=$2;let pos=`echo
Time of Update: 2017-01-18
很多用cron定時執行的shell指令碼可能會由於各種原因執行很久,會有必要在啟動並執行時候先檢查一下自身是否還在運行。本文提供的linux shell指令碼用以檢查以命令sh ...來執行的shell指令碼。要對其他東西進行唯一性檢查,可以稍微修改一下原始碼。複製代碼 代碼如下:# 檢查通過sh命令執行的shell指令碼是不是還在執行當中,避免重複執行. # 把這段代碼放在需要保證唯一性的程式頭部即可# 注意,如果直接把此指令碼放到cron裡面執行的話,必須再grep -v " -c sh "
Time of Update: 2017-01-18
前幾天寫的七牛的參賽demo,用bash寫了一個便捷安裝的指令碼,涉及到了路徑相關的判斷,從stackoverflow,加上自己的實踐整理一下。簡單版下面是一個最簡單的實現,可以解決大多數問題,缺陷是對於軟連結顯示的是軟連結所在的目錄lineos:false複製代碼 代碼如下:#!/bin/bashDIR="$( cd "$( dirname "$0" )" && pwd )"完善版這個版本解決了使用ln -s target
Time of Update: 2017-01-18
此指令碼是在張宴的緩衝清理指令碼上做了修改的,主要是增加if選項,並根據$1參數類型來選擇性的列出快取檔案所在地址(因為$1並不固定,有時是特定的jpg類型,有時是網域名稱)目前在自己的Squid快取服務器上應用,感覺採集緩衝網址基本上沒什麼誤差了,歡迎大家試用,爭取將此指令碼做到更加完美(此指令碼在Centos5.4 x86_64,Squid2.7下通過)指令碼內容如下:複製代碼
Time of Update: 2017-01-18
工作目錄下面有mydoc1.txt,mydoc2.txt...mydoc41.txt,本來想用sed排列依次取值排序,然後用cat來合并這些檔案,發現達不到預期效果,合并令如下所示:複製代碼 代碼如下:ls -lF *.txt | sed -n '/mydoc1/,/mydoc41/p' | xargs -i cat {}>
Time of Update: 2017-01-18
最近在調試伺服器的iptables,自己做了個定時關iptables,但晚上回家很少開電腦,所以就沒法去啟動iptables,當然你可能會說,為什麼不取消定時關閉iptables,我只能說個人的環境不一樣,需求也就不一樣.指令碼內容:vi iptables-reset.sh複製代碼 代碼如下:#!/bin/bash#Powered by blog.slogra.comport=`iptables -vL|grep ssh|awk '{split($NF,a,":");print
Time of Update: 2017-01-18
自己在vps做的kingate服務端,估計最近佔用流量太大了,老是被服務商把我vps重啟,但kingate這個東西是一旦被強制結束掉,是無法開機啟動的,因為要把kingate.pid這個檔案刪除了才能啟動,好吧,對於我們這樣的懶人來說,當然不能自己去登入伺服器去手動刪除並啟動kingate,就寫了個簡單的shell指令碼來替我完成這些。系統:centos 5.x指令碼內容:cat kingate.sh複製代碼 代碼如下:#!/bin/bashkingate=`ps -C kingate