Time of Update: 2017-01-13
工作中有時需要對比檔案是否一致,通過以下指令碼可以實現(比較簡單):分享出來,希望能協助到有同樣需求的朋友~ 代碼如下複製代碼 #!/bin/bash#對比伺服器上檔案是否一樣# Richard shen 2012/07/08LC_ALL='en_US.UTF-8'basedir=`dirname $0`HOST=$basedir/host.txtPASSWD="abcd"
Time of Update: 2017-01-13
如果第一個指令碼不行,可以嘗試第二個指令碼方案!網站採用了一些方法進行加速(redis\cdn),這樣就降低使用者訪問後端mysql的壓力、以及前端速度不太好的問題,對使用者請求到的所有頁面進行了緩衝,既然資料緩衝了,解決使用者看到的頁面是否為最新頁面就提上議程,下面這個指令碼就誕生了。#!/bin/bash# Author:Byrd# Version:0.1# Site:www.111cn.net # Contact:root#111cn.net # define categoryfor
Time of Update: 2017-01-13
Nginx 服務啟動指令碼 代碼如下複製代碼 #! /bin/sh# chkconfig: 2345 55 25# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and# run 'update-rc.d -f nginx defaults', or use the appropriate command on your# distro. For
Time of Update: 2017-01-13
指令碼#! /bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt #篩選出狀態為Failed的ip和次數 cat /var/log/secure|awk '/Invalid user/{print $NF}'|sort|uniq -c|awk
Time of Update: 2017-01-13
linux禁止root使用者通過ssh登入禁止root使用者通過ssh登入,是通過操作sshd_config設定檔來實現。1、開啟ssh設定檔vim /etc/ssh/sshd_config2、找到檔案中下面一行文字#PermitRootLogin no也有可能是#PermitRootLogin yes3、去掉該行前面的#號,使其成為下面這樣:PermitRootLogin no4、重啟ssh服務/etc/init.d/sshd
Time of Update: 2017-01-13
#!/bin/sh#本指令碼為守護進程, 如果發現進程僵死時, 自動重啟進程 function check_and_kill_and_start(){log_file=$1ps_name=$2dead_duration=$3# echo "check the progress "$ps_nameymd=$(date +%Y-%m-%d)log_file=${log_file}$
Time of Update: 2017-01-13
我們用 gitlab 在公司內網搭建了一個 git server ,在實際使用時,需要擷取一些倉庫的資料,但是呢我對 web 基本不懂,所以打算直接在伺服器上對倉庫做處理,提取資訊,現在打算先從提取同事對commit 做的comment,就是對提交做的評論,能怎麼弄?或者說 gitlab 有什麼線程的介面可以用。有效回複用 curl 直接存取那些介面 ,之後解析 json . 不會 curl 的, 快快地寫個 jquery, $.ajax()你的 gitlab 的網址加 api
Time of Update: 2017-01-13
例子一:繪製特殊圖形#!/bin/bash MAX_NO=0 echo -n "Enter Number between (5 to 9) : " read MAX_NO if ! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ] ; then echo "WTF... I ask to enter number between 5 and 9, Try
Time of Update: 2017-01-13
需求:在程式中有兩個頁面,用於某種用途,現需要統計這兩個頁面在每分鐘內的訪問量,包括總訪問次數,成功次數(狀態代碼200),失敗次數。然後寫入到mysql中。mysql欄位:id(自增長)、time(實際統計時間)、year、month、day、hour、visit(總訪問量)、success、fail、target(目標)#!/bin/bash#Desc : analysis apache log for witch
Time of Update: 2017-01-13
shell if判斷中常用的也就是綠色部分,尾部部分越看越不懂。從百度文庫轉載。[ -a FILE ] 如果 FILE 存在則為真。[ -b FILE ] 如果 FILE 存在且是一個塊特殊檔案則為真。[ -c FILE ] 如果 FILE 存在且是一個字特殊檔案則為真。[ -d FILE ] 如果 FILE 存在且是一個目錄則為真。[ -e FILE ] 如果 FILE 存在則為真。[ -f FILE ] 如果 FILE 存在且是一個普通檔案則為真。[ -g FILE ] 如果 FILE
Time of Update: 2017-01-13
問題背景:#!/bin/shPHP=100;JAVA=101LANGUAGE="PHP JAVA"for lang in $LANGUAGEdo //這裡想逐行輸出100, 101 該怎麼寫呢?done解決方案-數字字串:#!/bin/sh PHP=100;JAVA=101LANGUAGE="PHP JAVA" for lang in $LANGUAGE do &
Time of Update: 2017-01-13
格,如下: 代碼如下複製代碼 [root@MyVPS1697 201407]# netstat -ntpl|grep sshd|grep -v grep |awk -F : '{print $4}' 為瞭解決空格問題,把我所在的3個營運群都問了一個遍,現在才知道人多力量大,好多熱心的群友給我了幾個解決辦法,現在把他們給的shell語句發出來: 代碼如下複製代碼 netstat -antp | grep sshd| awk -F ":"
Time of Update: 2017-01-13
最近世界盃來了,一直忙於工作和世界盃之間,都沒有空來管管我的blog了,今天只能整個簡單的小shell給大家了.公司要求刪除一個月之前的備份檔案,免得把硬碟給整爆了,上伺服器看了下,居然都有3個月的備份沒有清理了,還好是sql備份,不然硬碟空間早就滿了.下面是我的解決辦法:cat delbak.sh#!/bin/shlocation="/root/sqlbak/"find $location -mtime +30 -type f |xargs rm
Time of Update: 2017-01-13
今天看到一篇文章,作者通過一個shell指令碼和一個Makefile,可以自動下載需要的所有安裝包並且編譯gcc: 代碼如下複製代碼 $ # Download the scripts using wget.$ mkdir /opt/gcc-4.9.2$ cd /opt/gcc-4.9.2$ wget http://projects.joelinoff.com/gcc-4.9.2/bld.sh$ wget http://projects.joelinoff.com/gcc-4.
Time of Update: 2017-01-13
最近剛好需要測試一下建立站的穩定性,所以寫了個SHELL指令碼放到本機(最近換了mac本),能夠即時查看你需要監控的WEB頁面狀態,並發送到指定郵箱. 這裡贊一下OS X內建有crontab計劃任務,可以直接在本機測試指令碼啦^_^ 代碼如下複製代碼 # vi check_web_alive.sh------------------------------------------------------------
Time of Update: 2017-01-13
shell中截取字串的方法有很多中,${expression}一共有9種使用方法。${parameter:-word}${parameter:=word}${parameter:?word}${parameter:+word} 上面4種可以用來進行預設值的替換。${#parameter}上面這種可以獲得字串的長度。 ${parameter%word} 最小限度從後面截取word${parameter%%word} 最大限度從後面截取word${parameter#word}
Time of Update: 2017-01-13
以前使用虛擬機器主機的時候,查看網站作業記錄,就發現了很多異常的惡意的訪問。當時因為自己並沒有系統許可權沒辦法對這些行為進行屏蔽。現在有了自己的雲主機,前端時間查看日誌,又發現了很多惡意訪問。正好可以通過最近對shell的學習,來做一個簡單的日誌分析工具,來屏蔽一些這樣的操作。首先,所謂的分析工具,肯定是建立在人為的分析的基礎上的。我們來看一點我的網域名稱作業記錄: 代碼如下複製代碼 78.56.78.115 - - [21/May/2014:16:54:27 +0800]
Time of Update: 2017-01-13
今天下午寫了一個簡單的一鍵式自動虛擬機器主機搭建shell指令碼,指令碼實現自動設定nginx虛擬機器主機,自動建立ftp賬戶,自動建立資料庫,使用者,並自動實現mysql自動定時備份,日誌切割,程式備份。這裡因為其他原因,就將備份機制去掉了,代碼如下。首先需要一個基礎的nginx虛擬機器主機設定檔,一般情況下,我們配置虛擬機器主機都是建一個vhost目錄,這裡我在/etc/nginx下面建了一個default.conf檔案 代碼如下複製代碼 log_format
Time of Update: 2017-01-13
代碼如下複製代碼 baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)echo "full path to currently executed script is : ${baseDirForScriptSelf}"或者FULLPATH=$(cd "$(dirname "$0")"; pwd)echo "full
Time of Update: 2017-01-13
方法開始查看一下當前的shell 代碼如下複製代碼 [phpbird@host3 ~]$ echo $SHELL/usr/local/bin/bash 當然,這是修改後的。修改預設的shell可以修改 /etc/passwd還有一個是用命令來chsh很優雅的方法 代碼如下複製代碼 chsh -s /path/to/shell {user-name}我這裡就是chsh -s /usr/local/bin/bash juhui