Time of Update: 2017-01-18
================================================= 本文為khler原作,轉載必須確保本文完整並完整保留原作者資訊及本文原始連結 Author: HeYuanHui E-mail: khler@163.com QQ: 23381103 MSN: pragmac@hotmail.com =================================================
Time of Update: 2017-01-18
複製代碼 代碼如下: #!/bin/bash if [ ! -f /tmp/down_count ];then echo "0" > /tmp/down_count fi curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1 code=`awk 'NR==1 {print $2}' /tmp/status` if [ "$[code]" -ge 500 ];then
Time of Update: 2017-01-18
shell字串比較、判斷是否為數字 二元比較操作符,比較變數或者比較數字。注意數字與字串的區別。 整數比較 -eq 等於,如:if [ "$a" -eq "$b" ] -ne 不等於,如:if [ "$a" -ne "$b" ] -gt 大於,如:if [ "$a" -gt "$b" ] -ge 大於等於,如:if [ "$a" -ge "$b" ] -lt 小於,如:if [ "$a" -lt "$b" ] -le 小於等於,如:if [ "$a" -le "$b" ] <
Time of Update: 2017-01-18
1. Linux 指令碼編寫基礎1.1 文法基本介紹1.1.1 開頭程式必須以下面的行開始(必須放在檔案的第一行):#!/bin/sh 符號#!用來告訴系統它後面的參數是用來執行該檔案的程式。在這個例子中我們使用/bin/sh來執行程式。 當編輯好指令碼時,如果要執行該指令碼,還必須使其可執行。 要使指令碼可執行:編譯 chmod +x filename 這樣才能用./filename 來運行1.1.2
Time of Update: 2017-01-18
1. 安裝msmtp luther@gliethttp:~$ sudo apt-get install msmtp 2. 編輯配置指令碼(~/.msmtprc是預設設定檔,也可以使用-C選項指定設定檔路徑) luther@gliethttp:~$ vim msmtprc #添加如下內容 defaults #logfile /home/luther/msmtp.log account luther_test host mail.gliethttp.cn from luther@gliethttp.
Time of Update: 2017-01-18
Shell指令碼:1、#! 指定指令碼執行的shell2、# 注釋 3、命令或文法結構echo "輸入內容"echo 輸出空行執行:1、shell 指令碼 sh example2、給shell指令碼執行許可權 chmod u+x example案例:example sysinfo.sh 3abc x 不能以數字開頭abc3ABC3環境變數-大寫 命令執行結果賦值變數使用
Time of Update: 2017-01-18
日常的linux系統管理工作中必不可少的就是shell指令碼,如果不會寫shell指令碼,那麼你就不算一個合格的管理員。目前很多單位在招聘linux系統管理員時,shell指令碼的編寫是必考的項目。有的單位甚至用shell指令碼的編寫能力來衡量這個linux系統管理員的經驗是否豐富。筆者講這些的目的只有一個,那就是讓你認真對待shell指令碼,從一開始就要把基礎知識掌握牢固,然後要不斷的練習,只要你shell指令碼寫的好,相信你的linux求職路就會輕鬆的多。筆者在這一章中並不會多麼詳細的介紹s
Time of Update: 2017-01-18
The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep.set time = 12:34:56set hr = `echo $time | awk '{split($0,a,":" ); print a[1]}'` # = 12set sec = `echo $time | awk '{split($0,a,":" ); print a[3]}'` # = 56#
Time of Update: 2017-01-18
方法一:複製代碼 代碼如下:echo `echo {a..z}``echo {A..Z}` > /tmp/letterfilewhile read -p "please input a letter: " letterdo ((`awk -v var="$letter" 'BEGIN{print length(var)}'` == 1)) && grep -q $letter /tmp/tmpfile && breakdonerm -f
Time of Update: 2017-01-18
發現一個特尷尬的事實。我辛辛苦苦去百度資料,想用rewrite實現針對不同標題來源站故障後的自動跳轉功能,但整個思路裡遺漏了一個嚴重的問題。按我的思路,針對請求的url進行一次curl,然後根據http_code去改寫url或者原樣輸出——這也就意味著,每一個請求,squid都回源去取一次header。那麼對於來源站點來說,前面squid的緩衝率,就是0%!完全沒有效果。得重新想過辦法……難道去看squid原始碼?汗本著有頭有尾善始善終的原則,決定還是把原先那個雞肋想法寫完。根據squid權威指
Time of Update: 2017-01-18
這種email警示指令碼遍地都是,很多用的sendmail、postfix,感覺有些大材小用了;也有些用perl的NET::SMTP和Authen::SASL模組發信的,不過我perl用的不好,老發出些莫名其妙的郵件來(比如if(a>1){print(a);},最後郵件裡的顯示的是0.99……);最後採用sendEmail這個成型的perl程式發信警示,而即時監控部分迴歸shell,終於完成。複製代碼 代碼如下:wget <a
Time of Update: 2017-01-18
第一思路,用iptables把外網ssh的包DROP掉;第二思路,用tcpwrapper把sshd的allow寫死;第三思路,修改sshd_config,只監聽內網請求。由於一些說不清楚的原因,iptables的辦法沒法用;而tcpwrapper佔用CPU資源較多;所以最後決定用第三種辦法。公司伺服器比較多,而且根據隨機登入查看的結果,sshd_config內容居然還太不一樣~~手工幹了一天,改了兩組伺服器後,終於下定決心要整個全自動指令碼出來幹活…… 目前的辦法是這樣的:cat
Time of Update: 2017-01-18
指令碼內容:複製代碼 代碼如下:#!/bin/bashfor ip in `cat ip.lst`do./ssh.exp $ip > /dev/null 2&>1doneNK=`awk 'BEGIN{bs=4000000}/access/{if($1>bs){nk=NR-1;print nk}}' exp.log`for nnk in $NKdoawk -F"[@|']" 'NR=='"$nnk"' {print $2}'
Time of Update: 2017-01-18
有兩個用途,一是偷懶不用去提交代碼,二是在遠程伺服器上使用以作定期備份。複製代碼 代碼如下:sudo gedit /etc/crontab開啟後加入這行複製代碼 代碼如下:0 * * * * my_user_name
Time of Update: 2017-01-18
過程都寫成指令碼了,原理都寫在注釋裡,大家懂的。一鍵操作就是sudo bash xxx.sh複製代碼 代碼如下:#!/bin/bash#cd到臨時目錄建立設定檔cd /tmp(cat <<EOF<Directory /home/hursing/mylimiteddir/> SetOutputFilter RATE_LIMIT SetEnv rate-limit 30</Directory>
Time of Update: 2017-01-18
1.解決的問題當你需要一次輸入很多個命令的時候,例如一次去多個目錄刪除檔案複製代碼 代碼如下:cd dir1rm file1.tempcd ../../dir2rm -rf dir3當你懶得輸入一個好長的命令或者直接就記不住那麼長的命令的時候,例如產生ctagsctags --languages=C++ --exclude=third_party --exclude=.git --exclude=build --exclude=out -R -f
Time of Update: 2017-01-18
最近遇到了一個麻煩事:機器上郵件隊列裡老是被塞滿,但是又不知道是什麼地方發郵件寫入的,十分蛋疼,沒辦法,只有臨時處理一下了,寫了個刪除郵件的指令碼rm_mqueue.sh。複製代碼 代碼如下:#/bin/bash ###################################### # touched by lingyun1 on 2014-12-01 # ######################################
Time of Update: 2017-01-18
今天同事閑得無聊,要我幫忙在linux登入頁面裡加點他認為很獨特的東西,看了下他發的東西,對他表示很無語,下面來看看吧.指令碼1:cat clcal.sh#!/bin/bash# show Chinese lunisolar calender.# 2011/11/24## Licensed under GPL version 3##日期資料 {{{# calendar_data format:# +--------+---------+--------------+------------+--
Time of Update: 2017-01-18
伺服器的安全穩定是每個營運都希望達到的目標,畢竟網站一旦流量大了,訪問高了,就會有一些無聊人來攻擊,幫忙檢測漏洞是好,但純ddos的性質就很惡劣了.說遠了,這篇文章只是檢測有非法ip登入到伺服器上就自動給營運警示,當然也可以改成簡訊警示,前提是你有簡訊網關.複製代碼 代碼如下:#!/bin/bash#該指令碼作用是檢測是否有惡意IP登陸伺服器並郵件警示#可以結合139郵箱以達到簡訊及時通知到手機的功能#適用系統centos5 Ldate=`which date`Lawk=`which
Time of Update: 2017-01-18
將下面的代碼儲存為一個.BAT檔案,( 以下均以 WIN2000 為例,如果使用2003,則系統檔案夾應該是 C:\WINDOWS\ )複製代碼 代碼如下:regsvr32/u C:\WINNT\System32\wshom.ocx del C:\WINNT\System32\wshom.ocx regsvr32/u C:\WINNT\system32\shell32.dll del C:\WINNT\system32\shell32.dll 然後運行一下,WScript.Shell,