雙比伺服器之間檔案是否一致的Shell指令碼

工作中有時需要對比檔案是否一致,通過以下指令碼可以實現(比較簡單):分享出來,希望能協助到有同樣需求的朋友~  代碼如下複製代碼 #!/bin/bash#對比伺服器上檔案是否一樣# Richard shen 2012/07/08LC_ALL='en_US.UTF-8'basedir=`dirname $0`HOST=$basedir/host.txtPASSWD="abcd"  

linux中Shell指令碼分割Nginx日誌,並定期清理例子

一:建立指令檔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"#

簡單的nginx日誌分割shell指令碼

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

Nginx 日誌切割的shell指令碼

  預設情況下,Nginx 的訪問日誌儲存在一個檔案裡。時間久了日誌內容變得異常龐大。不利於記錄檔的歸檔備份及分析。可以通過每天定時執行指令碼來達到自動切割日誌的目的,達到每天的訪問日誌儲存在一個單獨檔案內。  為了切割日誌,首先需要將已存在的日誌重新命名(預設訪問日誌為 access.log ,重新命名為當天的日期),然後向 Nginx 的 master 進程發送 USR1 訊號來使進程重新開啟所有記錄檔並設定記錄檔的屬主為 work 進程啟動並執行使用者,(此時由於 access.log

Centos下批量替換檔案中的內容shell指令碼

Centos批量替換檔案內容這兩天使用火車頭採集了一些資料,由於產生了很多SQL檔案。我想將每個SQL檔案中的固定內容替換為另外的內容.手工一個個改檔案配置有點不太實際,所以google了一下,找到批量替換檔案內容的好方法。命令結構如下:find -name '要尋找的檔案名稱' | xargs perl -pi -e 's|被替換的字串|替換後的字串|g'下面這個例子將目前的目錄及所有子目錄下的所有sql檔案中的“戀香緣”替換為“http://www.111

linux中SHELL指令碼中的數組用法

在Shell中(我這裡是Bash),其實沒有傳統意義上的“資料類型”,把任何變數中存的值都是作為字元組成的“字串”。當然,通過declare可以聲明某個變數是整型、數組等類型。其中,數組就是本文要專門講的了。在Bash中,僅支援一維數組,當然通過關聯陣列(associative array)的形式可以類比多維陣列。1. 數組的聲明用 declare -a array 聲明array是一個數組,用declare -A a_array

Linux下產生鏈條式密碼鑰匙shell指令碼

之前寫過一個這樣的博文,但因為Ecvps倒閉跑路了,所以我丟失了兩個月的資料,那篇文章也就丟失了,但是我也更新了這個指令碼的方法,將有內容產生密鑰鏈條和無內容自動隨機產生密鑰鏈條兩種,控制方法是A和B兩種.A是隨機# !/bin/bashrandom() {  index=0  str=""  t=`grep '((?=[\x21-\x7e]+)[^A-Za-z0-9])'`  for i in {a..z}; do

總結shell指令碼的特殊字元28個

1. #注釋作用, #! 除外此外, 在參數替換 echo ${PATH#*:} 這裡不表示注釋, 數制轉換, 不表示注釋 echo $((2#101011))2. ;命令列分隔字元, 可以在一行中寫多個命令. echo hello; echo there3. ;;終止 case 選項複製代碼 代碼如下:case “$variable” inabc) echo “\$variable = abc”;;xyz) echo “\$variable = xyz”;;esac4.

linux下shell及awk統計日誌中相同ip的訪問次數

awk統計ip訪問次數 現在有一個檔案,資料量大概在200多萬條記錄,想用shell的awk做統計,檔案的格式如下#關鍵字#URL#IP地址#test|123|1test|123|1test|123|2test2|12|1test2|123|1test2|123|2現在想要統計的結果是:查看同一個關鍵字和URL總的訪問的次數,以及多少個不同的IP,輸出到一個檔案中SQL的實現就很簡單 select keyword ,url ,count(1),count(distinct IP) group

shell遍曆目錄及其子目錄下的所有檔案

shell指令碼太強大了,接觸到的始終是冰山的冰山一角。shell 遞迴遍曆目錄 #!/bin/bashecho "please input the directory:"read cdirfor dir in $(find $cdir -type d); do    echo change to $dir    cd $dir    ls   

linux中shell test 條件運算式說明

條件運算式("CONDITIONAL EXPRESSIONS")條件運算式用於 [[ 複合命令以及內建命令 test 和 [ 中,用來測試檔案屬性,進行字串和算術比較。運算式使用下面的單目或二進位操作構造。如果某操作的任何 file 參數的形式是檔案符號:在info bash裡的第“6.4 Bash Conditional Expressions”節裡開頭有一句話說明了shell條件判斷的二個機制:Conditional expressions

linux中shell指令碼數組的操作教程

數組賦值:a=(1 2 3 4 5)a[1]=1數組長度:echo ${#a[@]}或者 echo ${#a[*]}讀取數組:echo ${a[@]}或者 echo ${a[*]}echo

linux中shell條件判斷if中的-a到-z的意思

shell if判斷中常用的也就是綠色部分,尾部部分越看越不懂。從百度文庫轉載。[ -a FILE ] 如果 FILE 存在則為真。[ -b FILE ] 如果 FILE 存在且是一個塊特殊檔案則為真。[ -c FILE ] 如果 FILE 存在且是一個字特殊檔案則為真。[ -d FILE ] 如果 FILE 存在且是一個目錄則為真。[ -e FILE ] 如果 FILE 存在則為真。[ -f FILE ] 如果 FILE 存在且是一個普通檔案則為真。[ -g FILE ] 如果 FILE

centos中shell定時檢測mysqld,nginx,httpd服務指令碼

前幾天發現網站打不開,提示資料庫連接錯誤,我登入linux 發現mysqld服務不知道什麼時候停止了。幸好我即使發現。於是決定寫一個shell指令碼每分鐘自動檢測mysqld服務,如果探索服務沒起來就自動啟動mysqld服務也就是:通過cron定時任務執行檢測指令碼編寫檢測指令碼 /root/bin/check  代碼如下複製代碼 #!/bin/bash check=`pgrep mysql` if [ -n "$check" ];

linux中Shell指令碼所在目錄的絕對路徑

 代碼如下複製代碼 baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)echo "full path to currently executed script is : ${baseDirForScriptSelf}"或者FULLPATH=$(cd "$(dirname "$0")"; pwd)echo "full

linux中shell自動過濾網站攻擊源IP

具體的指令碼內容如下:  代碼如下複製代碼 $ 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

shell監控iptables規則是否改變

系統: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

linux中shell命令監控kingate並自動啟動

系統:centos 5.x指令碼內容:cat kingate.sh  代碼如下複製代碼 #!/bin/bashkingate=`ps -C kingate --no-header|wc -l`file=`find /usr/local/kingate/var/kingate.pid |wc -l`if [ "$kingate" = "1" ];thenecho "kingate is

linux下Shell中調用/引用/包含指令檔方法

指令碼 first (測試樣本1)  代碼如下複製代碼 #!/bin/bashecho 'your are in first file'  問)在當前指令檔中調用另外一個指令檔?方法一: 使用 source指令碼 second (測試樣本2)  代碼如下複製代碼 #!/bin/bashecho 'your are in second file'source first  方法二: 使用 .  代碼如下複製代碼 指令碼

Liunx中使用SHELL指令碼修改帳號密碼

單個修改:  代碼如下複製代碼 echo test:23456 | chpasswd 批量修改:先在一個文字檔中(假設名叫users.txt)準備帳號資訊,格式是“帳號:密碼”,每行一個,然後執行命令:  代碼如下複製代碼 chpasswd < users.txt執行成功後,記得刪除這個users.txt。 批量修改的方法稍稍麻煩一點,不過安全度更高一點點。因為,在shell中出現純文字密碼不是好習慣。

總頁數: 301 1 .... 193 194 195 196 197 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.