#jeson#email:[email protected]
#變數定義:access、error日誌檔案列表
nginx_log=(imoocc_com_access iaskjob_com error)
nginx_access_path=/opt/logs/nginx/access
nginx_error_path=/opt/logs/nginx/error
#日期變數
ydate=`date -d yesterday +%y%m%d`
adate=`date -d "
20 days ago
" +%y%m%d`
#pid檔案和nginx.conf中定義一致
#日誌的量,超過此值,觸發切割
max_size=1000000
file_size="
null
"#函式get_size,獲取日誌檔案的大小。
#rotate funcation
function
get_size()awk''
`
if [[ $file_size =~ [1-9]* ]];then
echo
$file_size
else
echo
"error:cant get file $ size!
"exit
fi}#函式log_rotate,完成日誌輪轉切割。
# rename log
function
log_rotate() ];then
mkdir
$
fimv -f $ $/$.log
touch
$
rm $/$.log
elif [ $size -gt $max_size ];then
echo
"#######11111111
"if [ ! -d $ ];then
mkdir
$
fimv -f $ $/$.log
touch
$
rm $/$.log
fi}#主功能段,作用遍歷日誌,輸入引數為size,則按照size進行切割,如果為day,則按照日常輪轉進行。
forlognamein$
doif [ $ == '
error
' ];then
log_file=$/$.log
back_dir=$/$
else
log_file=$/$.log
back_dir=$/$
fiif [ $1 == "
size
" ];then
file_size=`get_size $`
log_rotate $ $ $
echo
$file_size
elif [ $1 == "
day" ];then
log_rotate $ $ $
else
echo
"param : $logname error!"fi
done
#給nginx傳送乙個訊號量,讓nginx過載,重新重新生成日誌
## restart nginx
[ ! -f $nginxpid ] kill -usr1 $(cat $nginxpid)
wei 老師寫的鍊錶(參考)
include include include struct node typedef struct node linklist define len sizeof struct node define error 1 define ok 0 初始化順序線性表 linklist initlist v...
模擬cas,跟著老師的Demo寫的,簡單了解了,
public class casdemo class cas public void setvalue int value public synchronized int compareandswap int exceptvalue,int upsetvalue return value publi...
嘟嘟老師寫部落格用的編譯器簡介
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...