Time of Update: 2017-01-13
在日常營運中會發現流量突增現象或者伺服器負載升高等現象,為找到原因,需要使用nginx limit模組 對訪問的Ip進行限制,然後可以分析日誌。配置nginx限制IP訪問,可配置多個zone。limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;對產生的nginx日誌進行分析
Time of Update: 2017-01-13
雖然git是分布式的版本管理系統,但對於Team 專案開發,通常還是會在單獨的伺服器上建立一個git server。類似於svn,git server也有好幾種配置方式。詳情,可以參見git的文檔http://git-scm.com/book/en/v2。這裡,主要是從上述文檔中摘出一部分,說明一下git-shell的用處。假如,大家都使用ssh的方式來訪問:$ git clone git@10.3.0.99:project.git這就意味者,訪問者具有許可權可以ssh登陸到伺服器上:$
Time of Update: 2017-01-13
uptime命令: - * 使用uptime命令擷取主機已耗用時間和查詢linux系統負載資訊。資訊顯示依次為:現在時間、系統已已耗用時間、目前有多少登陸使用者、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。*ubuntu@ubuntu:~$ uptime 17:42:05 up 3 days, 7:58, 6 users, load average: 0.11, 0.10, 0.11 17:42:05 //系統目前時間 up 3 days, 7:58
Time of Update: 2017-01-13
有多種方式可以查看你目前在使用什麼 shell,最簡單的方法就是通過使用 shell 的特殊參數。其一,一個名為 "$$" 的特殊參數 表示當前你正在啟動並執行 shell 執行個體的 PID。此參數是唯讀,不能被修改。所以,下面的命令也將顯示你正在啟動並執行 shell 的名字:代碼如下:$ ps -p $$PID TTY TIME CMD21666 pts/4 00:00:00
Time of Update: 2017-01-13
一:建立指令檔vim cut_nginx_log.sh#!/bin/bash#nginx access log segmentation shell script#www.webyang.net#日誌目錄log_dir="/usr/local/nginx/logs/"cd $log_dirtime=`date +%Y%m%d --date="-1 day"`#nginx啟動目錄nginx_dir="/etc/init.d/nginx"#
Time of Update: 2017-01-13
nginx的日誌access.log沒有分割,訪問的記錄一直都記錄在此檔案中,長期下去對於日誌查詢和檔案系統都不好,所以需要進行分割。vim /data/scripts/cut_nginx_log.sh #!/bin/bash# auto-run this script at 00:00LOGS_PATH=/data/app/nginx/logsYESTERDAY=$(date -d "yesterday" +%Y-%m-%d)mv
Time of Update: 2017-01-13
預設情況下,Nginx 的訪問日誌儲存在一個檔案裡。時間久了日誌內容變得異常龐大。不利於記錄檔的歸檔備份及分析。可以通過每天定時執行指令碼來達到自動切割日誌的目的,達到每天的訪問日誌儲存在一個單獨檔案內。 為了切割日誌,首先需要將已存在的日誌重新命名(預設訪問日誌為 access.log ,重新命名為當天的日期),然後向 Nginx 的 master 進程發送 USR1 訊號來使進程重新開啟所有記錄檔並設定記錄檔的屬主為 work 進程啟動並執行使用者,(此時由於 access.log
Time of Update: 2017-01-13
Q:1 Shell指令碼是什麼、它是必需的嗎?答:一個Shell指令碼是一個文字檔,包含一個或多個命令。作為系統管理員,我們經常需要使用多個命令來完成一項任務,我們可以添加這些所有命令在一個文字檔(Shell指令碼)來完成這些日常工作任務。Q:2 什麼是預設登入shell,如何改變指定使用者的登入shell答:在Linux作業系統,“/bin/bash”是預設登入shell,是在建立使用者時分配的。使用chsh命令可以改變預設的shell。樣本如下所示:# chsh <
Time of Update: 2017-01-13
1. #注釋作用, #! 除外此外, 在參數替換 echo ${PATH#*:} 這裡不表示注釋, 數制轉換, 不表示注釋 echo $((2#101011))2. ;命令列分隔字元, 可以在一行中寫多個命令. echo hello; echo there3. ;;終止 case 選項複製代碼 代碼如下:case “$variable” inabc) echo “\$variable = abc”;;xyz) echo “\$variable = xyz”;;esac4.
Time of Update: 2017-01-13
awk是linux中非常強大的文本分析工具。簡單來說,awk就是把檔案逐行的讀入,以空格為預設分隔符號將每行分割,分割的部分再進行各種分析處理。awk的基本用法awk使用的基本形式如下awk '{pattern + action}' {filenames}其中 pattern 表示 AWK 在資料中尋找的內容,而 action 是在找到匹配內容時所執行的一系列命令。花括弧({})不需要在程式中始終出現,但它們用於根據特定的模式對一系列指令進行分組。
Time of Update: 2017-01-13
說到socket,學過網路基礎的人都聽過,他是TCP/IP的抽象,他是網路世界的入口,它無處不在。學會了socket編程,就意味著能夠更深層次的控制你的流量,之後再看python的urllib*或php的curl,簡直就是小兒科!I. 一些名詞Address Family地址類型,協議族,可能是以下socket.AF_INET ---> IPv4 addresses.socket.AF_INET6 ---> IPv6 addresses.socket.AF_UNIX --->
Time of Update: 2017-01-13
位置參數可以用shift命令左移。比如shift 3表示原來的$4現在變成了$1,原來的$5現在變成了$2,原來的$1、$2、$3丟棄,$0不移動。不帶參數的shift命令相當於shift
Time of Update: 2017-01-13
本文準備了 70 個 shell 指令碼面試問題及解答,shell指令碼在 linux 工作中是必須掌握的技能。1) 如何向指令碼傳遞參數 ?./script argument 例子 : 顯示檔案名稱指令碼./show.sh file1.txtcat show.sh#!/bin/bashcat $1 2) 如何在指令碼中使用參數 ? 第一個參數 : $1,第二個參數 : $2 例子 : 指令碼會複製檔案(arg1) 到目標地址(arg2)./copy.sh file1.txt /tmp/
Time of Update: 2017-01-13
具體的指令碼內容如下: 代碼如下複製代碼 $ vim /home/rainbow/sbin/block_attack_ips.sh#!/bin/bashlogfile=/webserver/blog/logs/rainbow_access.logfunction check_root(){ if [ $EUID -ne 0 ]; then echo "This script must be run as
Time of Update: 2017-01-13
系統:centos 5.xopenssl升級指令碼內容:cat openssl_update.sh 代碼如下複製代碼 #!/bin/bashif [[ $EUID -ne 0 ]]; then echo "This script must be run as root" 1>&2 exit 1fiyum -y install glibc* cpp gcc* make zlib ntp
Time of Update: 2017-01-13
系統:centos 5.x指令碼內容: 代碼如下複製代碼 #!/bin/bashif [ ! -f .count ];then iptables -L -n|md5sum|awk '{print $1}' > ~/.count exit 1else iptables -L -n|md5sum|awk '{print $1}' >~/1.txt difffile=`diff ~/.count ~/1.txt|wc
Time of Update: 2017-01-13
Shell 基本上是一個命令直譯器,類似於 DOS 下的 command。它接收使用者命令(如 ls 等),然後調用相應的應用程式。較為通用的 Shell 有標準的Bourne shell (sh)和C shell (csh)。很多時候在寫 Shell 指令碼的時候都容易遺忘部分邏輯運算子和運算式的寫法,因此摘錄如下,留待不時之需查詢使用。Shell 邏輯運算子涉及以下幾種類型,只要適當選擇,可以解決我們很多複雜的判斷,達到事半功倍效果。一、邏輯判斷1、關於檔案與目錄的邏輯判斷-f 常用。判斷『
Time of Update: 2017-01-13
BASH 的基本文法 •最簡單的例子 —— Hello World www.111cn.net !•關於輸入、輸出和錯誤輸出•BASH 中對變數的規定(與 C 語言的異同)•BASH 中的基本流程式控制制文法•函數的使用2.1 最簡單的例子 —— Hello World! 幾乎所有的講解編程的書給讀者的第一個例子都是 Hello World
Time of Update: 2017-01-13
使用Linux shell是我每天的基本工作,但我經常會忘記一些有用的shell命令和l技巧。當然,命令我能記住,但我不敢說能記得如何用它執行某個特定任務。於是,我開始在一個文字檔裡記錄這些用法,並放在我的Dropbox裡,現在,向大家分享這個檔案。這個檔案我會不斷的更新。需要注意一點的是,有些用法需要在你的Linux系統裡安裝額外的軟體。UPDATE: November 25, 2013檢查遠程連接埠是否對bash開放:echo >/dev/tcp/8.8.8.8/53
Time of Update: 2017-01-13
Shell指令碼編程學習入門是本文要介紹的內容,我們可以使用任意一種文字編輯器,比如gedit、kedit、emacs、vi等來編寫shell指令碼,它必須以如下行開始(必須放在檔案的第一行): 代碼如下複製代碼 #!/bin/sh ...注意:最好使用“!/bin/bash”而不是“!/bin/sh”,如果使用tc