#顯示指令碼說明,不同顏色
echo -e
"\e[34;1m################################################\e[0m"
echo -e
"\e[34;1m### format like 'analysis_log.sh 2007-07-01' ###\e[0m"
echo -e
"\e[34;1m### default parameters is today ###\e[0m"
echo -e
"\e[34;1m################################################\e[0m"
#rsync 的密碼
rsync_password=ssoapi96
export rsync_password
#獲得引數個數
var_parm_num=
$##定義臨時檔名
tmp_log_file=/tmp/api.log
tmp_unique_file=/tmp/tmp.log
#檢查引數情況,並且得出一系列臨時日誌檔名
if [
$var_parm_num -eq
0]; then
today=`date +%y-%m-%d`
logfile=api_log.
$today
logfile96=/tmp/96_api_log.
$today
logfile97=/tmp/97_api_log.
$today
logfile98=/tmp/98_api_log.
$today
logfile99=/tmp/99_api_log.
$today
else
logfile=api_log.$
1logfile96=/tmp/96_api_log.$
1logfile97=/tmp/97_api_log.$
1logfile98=/tmp/98_api_log.$
1logfile99=/tmp/99_api_log.$
1fi#獲得日誌檔案(本機,遠端)
cp /data/log/api/
$logfile
$logfile96
rsync -vzrtopg web@
172.24
.139
.97::apilog/
$logfile
$logfile97
rsync -vzrtopg web@
172.24
.139
.98::apilog/
$logfile
$logfile98
rsync -vzrtopg web@
172.24
.139
.99::apilog/
$logfile
$logfile99
#將不同伺服器上的日誌檔案輸入到乙個檔案中,只去其中的3、4列,去除其中含有關鍵字的行
cat
$logfile96 | awk
''| grep -v
"sso_send" >
$tmp_log_file
cat
$logfile97 | awk
''| grep -v
"sso_send" >>
$tmp_log_file
cat
$logfile98 | awk
''| grep -v
"sso_send" >>
$tmp_log_file
cat
$logfile99 | awk
''| grep -v
"sso_send" >>
$tmp_log_file
#對全部日誌的檔案進行過濾排序,去掉重覆記錄,輸入到另乙個檔案中
sort -u
$tmp_log_file >
$tmp_unique_file
#輸出當前時間
echo -e
"\e[35;1m"`date +%y-%m-%d\ %h:%m:%s`
"\e[0m"
#計算某些動作的行數,既是該動作的數量
echo -e
"\e[36;1mlogin nums\e[0m"
cat
$tmp_log_file | awk
'' | grep
"1" |wc -l
echo -e
"\e[32;1muser nums\e[0m"
cat
$tmp_unique_file | awk
'' | grep
"1" |wc -l
echo -e
"\e[33;1mcheck_exist nums\e[0m"
cat
$tmp_log_file | awk
'' | grep
"2" |wc -l
#刪除臨時日誌檔案
rm $tmp_log_file
rm $tmp_unique_file
rm $logfile96
rm $logfile97
rm $logfile98
rm $logfile99
SHELL 分析日誌
1 檢視當天有多少個ip訪問 awk log file sort uniq wc l 2 檢視某乙個頁面被訪問的次數 grep index.php log file wc l 3 檢視每乙個ip訪問了多少個頁面 awk end log file 4 將每個ip訪問的頁面數進行從小到大排序 awk e...
shell 日誌分析
列出當天訪問次數最多的ip cut d f 1 usr local apache2 logs access log uniq c sort rn head 20 cut d,delimiter delim use delim instead of tab for field delimiter 表示...
歸檔老日誌的shell指令碼
本指令碼來自有學習阿銘的博文學習 工作中,需要用到日誌切割logrotate,按照各自的需要切割 定義保留日誌。bin bash 用途 日誌切割歸檔 按天切割 日期 2018年12月15日 版本 v0.1 logdir data logs 定義函式如果乙個檔案存在則刪除 function e df ...