最近看到群裡有人聊到他們的伺服器最近被掛馬,然後想利用一個指令碼能夠即時監控web目錄下檔案的變化,也就是對該目錄的增刪改操作都會記錄到相應日誌下。 當時感覺這個功能的確實有點意思,所以網上查閱了些資料,自己研究了下,這會兒有空寫了個指令碼,分享給大家,如有問題,還請大家指出。以下我寫了兩個指令碼:指令碼1:將需要監控的目錄的原始狀態儲存到LOG日誌指令碼2:將指令碼1的原始狀態與本指令碼比對,如果目錄檔案發生變化,則將變化的內容儲存到日誌。註:原理實際上利用的是du
有些人仍然會有這種愚蠢的想法,他們認為使用Linux就必須使用Linux
ssh安全的自動登入A為本地主機(即用於控制其他主機的機器) ; B為遠程主機(即被控制的機器Server), 假如ip為172.24.253.2 ; A和B的系統都是Linux在A上的命令: 代碼如下複製代碼 # ssh-keygen -t rsa (連續三次斷行符號,即在本地產生了公開金鑰和私密金鑰,不設定密碼) # ssh root@172.24.253.2 "mkdir .ssh;chmod 0700 .ssh" (需要輸入密碼) # scp ~/
最近剛好需要測試一下建立站的穩定性,所以寫了個SHELL指令碼放到本機(最近換了mac本),能夠即時查看你需要監控的WEB頁面狀態,並發送到指定郵箱. 這裡贊一下OS X內建有crontab計劃任務,可以直接在本機測試指令碼啦^_^ 代碼如下複製代碼 # vi check_web_alive.sh------------------------------------------------------------
comm命令比較兩個已排序檔案每行資料的差異,並將其結果顯示出來,如果沒有指定任何參數,comm命令讀取這兩個檔案,然後產生三列輸出:1>僅在file1中出現的行2>僅在file2中出現的行3>在兩個檔案中都存在的行。 如果為檔案名稱之一指定 -(減號),則 comm 命令會從標準輸入裝置讀取資料。題外話:說到比較檔案,過來人都用過Beyond Compare,老版本時候,我們只能右鍵選中用於比較的檔案,再選中被比較檔案,對比。
之前一直在用ubuntu,安裝卸載軟體基本上是使用apt-get 這個非常的簡單,而且過程中遇到的軟體依賴會自動幫我們處理,類似於傻瓜式安裝。另外在 Linux 作業系統下,幾乎所有的軟體都可以通過RPM 進行安裝、卸載及管理等操作。RPM 的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用於管理Linux 下軟體包的軟體。Linux 安裝時,除了幾個核心模組以外,其餘幾乎所有的模組均通過RPM 完成安裝。RPM
命令功能:切割檔案,將檔案以行為單位或以位元組為單位進行切割命令文法:split [–help][–version]split [-<行數>][-l <行數>] [要切割的檔案][輸出檔案名] ,以行數為單位split [-b <位元組>][-C <位元組>] [要切割的檔案][輸出檔案名],以位元組為單位輸出檔案名是指切割後的檔案會以此為首碼。1. 以行為單位切割檔案首先建立一個有5行的檔案hello,#cat helloHello,
linux shell 可以使用者定義函數,然後在shell指令碼中可以隨便調用。下面說說它的定義方法,以及調用需要注意那些事項。一、定義shell函數(define function)文法:[ function ] funname [()]{action;[return int;]}說明: 1、可以帶function fun() 定義,也可以直接fun() 定義,不帶任何參數。 2、參數返回,可以顯示加:return 返回,如果不加,將以最後一條命令運行結果,作為傳回值。
登入保護是一個非常重要的環節,下面通過圖文並茂的方式給大家詳細講解下:前兩天@cyy 給我發了一個圖然後我就想到USHQ的ssh登入app通知功能,然後就像如果把這個部署到自用的伺服器就好了。至少多一層安全係數。首先要感謝@Legion 幫忙搞定了幾個錯誤以及搞定了Geo2IP的JSON轉換。 (P.S.此人為自動化營運大神級人物,現任職於德國一資料統計企業。)當然,我和他相比我就是戰五渣了...大家一定要多向 @Legion
Shell中的特殊字元有 1、$ 美元符 2、\ 反斜線 3、` 反引號 4、" 雙引號 5、< ,>;,*,?,[,]下面我一一舉列說明一、$符號 1、echo $? 顯示的是上一條指令退出狀態 2、echo "$?" 效果同上 3、echo '$?' 顯示的是$? 4、echo \$? 顯示的是$? 5、echo "\$?"
回憶起一件事情:之前用linux尋找中文IME的時候,在百度輸入了fcitx,然後結果上邊有個,您要找的是不是: 諷刺騰訊 。本來一直記不住這個IME名字,不過以後哥就記住這個IME的名字是怎麼拼了,感謝百度。第九章awk的驚人表現awk的調用可以定義變數、提供者並且指定輸入檔案,文法:複製代碼 代碼如下:awk [ -F fs ] [ -v var=value ... ] 'program' [ -- ] [ var=value ... ] [file(s) ]awk [ -F fs ] [
1.cd - 作用是快速切換到前一個目錄,如下:複製代碼 代碼如下:amosli@amosli-pc:~$ cd learn/fd/amosli@amosli-pc:~/learn/fd$ cd -/home/amosli2.dirs:顯示目錄棧,列出當前堆棧中儲存的目錄列表複製代碼 代碼如下:amosli@amosli-pc:~/learn/fd$ dirs~/learn/fd說明: dirs的 -p參數可以每行一個目錄的形式顯示堆棧中的目錄列表-v參數可以在目錄前加上編號注意:有
因為最近要處理一些 JSON 資料格式,所以在經過一番搜尋後 最終找到了 jq 這個很棒的工具。jq 允許你直接在命令列下對 JSON 進行操作,包括分區、過濾、轉換等等。讓我們通過幾個例子來說明 jq 的功能:一、輸出格式化,漂亮的列印效果如果我們用文字編輯器開啟 JSON,有時候可能看起來會一團糟,但是通過 jq 的 .(點)過濾器就可以立馬讓 JSON 的格式規整起來。1.用文字編輯器開啟後的樣子2.用 jq 顯示的結果複製代碼 代碼如下:% jq .
在*unix系統中,常用的shell有sh,bash,csh/tcsh, ksh.sh來自於systemV的Unix,是傳統的Unix的shell,直到現在很多的系統管理員仍然喜歡使用sh。bash來自於BSD
在Linux Shell中有很多的特殊符號,這對於我們寫Shell指令碼時要特別留意:一方面要知道這些特殊符號的用法,這些符號用好了可以達到事半功倍的效果;但另一方面要避免這些特殊符號的過度使用而導致指令碼難以調試、難以閱讀。這些特殊符號羅列出來大致如下:複製代碼 代碼如下:# ; ;; . , / / ‘string'| ! $ ${} $? $$ $* “string”* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || &&
最近看到群裡有人聊到他們的伺服器最近被掛馬,然後想利用一個指令碼能夠即時監控web目錄下檔案的變化,也就是對該目錄的增刪改操作都會記錄到相應日誌下。當時感覺這個功能的確實有點意思,所以網上查閱了些資料,自己研究了下,這會兒有空寫了個指令碼,分享給大家,如有問題,還請大家指出。以下我寫了兩個指令碼:指令碼1:將需要監控的目錄的原始狀態儲存到LOG日誌指令碼2:將指令碼1的原始狀態與本指令碼比對,如果目錄檔案發生變化,則將變化的內容儲存到日誌。註:原理實際上利用的是du
平時在控制台輸入指令如:sudo、ssh、ftp或者修改admin許可權的檔案時候都會要求輸入password,但是在she'll指令碼運行過程中該如何互動實現自動輸入密碼呢。 下面總結三種實現方法。 一、重新導向:用重新導向方法實現互動的前提是指令需要有參數來指定密碼輸入方式,如ftp就有-i參數來指定使用標準輸入來輸入密碼 shell用重新導向作為標準輸入的用法是:cmd<<delimiter ,shell
在Linux中寫指令碼的時候,總免不了需要判斷檔案是否存在、檔案內容是否為空白等存在,而這些操作都可以用test 指令來實現,通過 man test 指令可以查看關於test指令的手冊,手冊中有如下說明: -s FILE FILE exists and has a size greater than
標籤:應用程式 設定檔 profile 執行檔案 bash的顏色顯示規則: ASCII編碼對於顏色進行設定: \033 :ctrl鍵 [:控制字元和顏色代碼之間的佔空間字元 0m:關閉顏色屬性的命令; 1m:對於顯示文本字元加粗 4m:為文本字元加底線標識 5m:使文本字元閃爍&
標籤:絕對值 依次 $0 int tab 單詞 數值 txt i++ awk 命令:1、列印行號和內容:awk ‘{print NR":"$0}‘2、輸出:偶數行和奇數行到檔案awk