日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

centos 日志切割_centos自带的日志切割工具 --- logrotate

發(fā)布時間:2024/10/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos 日志切割_centos自带的日志切割工具 --- logrotate 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、logrotate

logrotate程序是一個日志文件管理工具。用來把舊的日志文件刪除,并創(chuàng)建新的日志文件,我們把它叫做“轉(zhuǎn)儲”。我們可以根據(jù)日志文件的大小,也可以根據(jù)其天數(shù)來轉(zhuǎn)儲,這個過程一般通過cron程序來執(zhí)行。

logrotate程序還可以用于壓縮日志文件,以及發(fā)送日志到指定的E-mail。

logrotate的配置文件是/etc/logrotate.conf。主要參數(shù)如下表:

參數(shù)功能

compress通過gzip壓縮轉(zhuǎn)儲以后的日志

nocompress不需要壓縮時,用這個參數(shù)

copytruncate用于還在打開中的日志文件,把當前日志備份并截斷

nocopytruncate備份日志文件但是不截斷

create mode owner group轉(zhuǎn)儲文件,使用指定的文件模式創(chuàng)建新的日志文件

nocreate不建立新的日志文件

delaycompress和compress一起使用時,轉(zhuǎn)儲的日志文件到下一次轉(zhuǎn)儲時才壓縮nodelaycompress覆蓋delaycompress選項,轉(zhuǎn)儲同時壓縮。

errors address專儲時的錯誤信息發(fā)送到指定的Email地址

ifempty即使是空文件也轉(zhuǎn)儲,這個是logrotate的缺省選項。

notifempty如果是空文件的話,不轉(zhuǎn)儲

mail address把轉(zhuǎn)儲的日志文件發(fā)送到指定的E-mail地址

nomail轉(zhuǎn)儲時不發(fā)送日志文件

olddir directory轉(zhuǎn)儲后的日志文件放入指定的目錄,必須和當前日志文件在同一個文件系統(tǒng)

noolddir轉(zhuǎn)儲后的日志文件和當前日志文件放在同一個目錄下

prerotate/endscript在轉(zhuǎn)儲以前需要執(zhí)行的命令可以放入這個對,這兩個關(guān)鍵字必須單獨成行

postrotate/endscript在轉(zhuǎn)儲以后需要執(zhí)行的命令可以放入這個對,這兩個關(guān)鍵字必須單獨成行

daily指定轉(zhuǎn)儲周期為每天

weekly指定轉(zhuǎn)儲周期為每周

monthly指定轉(zhuǎn)儲周期為每月

rotate count指定日志文件刪除之前轉(zhuǎn)儲的次數(shù),0指沒有備份,5指保留5個備份

tabootext [+] list讓logrotate不轉(zhuǎn)儲指定擴展名的文件,缺省的擴展名是:.rpm-orig, .rpmsave, v,和~

size size當日志文件到達指定的大小時才轉(zhuǎn)儲,Size可以指定bytes (缺省)以及KB(sizek)或者MB (sizem).

二、logrotate安裝

yum -y install logrotate

三、自定義配置:(按需求定制)

[root@gy01 ~]#cd /u1/script/logsplit/

[root@gy01 logsplit]#cat nginx

/u1/logs/nginx/*.log {

sharedscripts

rotate 8

daily

compress

compresscmd/bin/gzip

compressext .gz

postrotate

/usr/bin/killall-HUP nginx 2> /dev/null || true

endscript

}

#注:加上壓縮切割后的log日志文件命名格式,如:www_access.log.1.gz

[root@gy01 logsplit]#cat lbnginx

/u1/logs/lbnginx/*.log {

sharedscripts

rotate7

daily

postrotate

/usr/bin/killall-HUP lbnginx 2> /dev/null || true

endscript

}

#注:切割后log日志文件命名格式,如:www_access.log.1

[root@gy01 logsplit]#cat php-fpm

/u1/logs/php/*.log {

sharedscripts

rotate7

daily

postrotate

/usr/bin/killall-12 php-fpm 2> /dev/null || true

endscript

}

[root@gy01 logsplit]#cat rsync

/u1/script/rsync/logs/*.log {

sharedscripts

rotate7

daily

postrotate

endscript

}

四、定時腳本

[root@gy01 logsplit]# crontab -e

#split lbnginx log

0 ? ? ?0 ? ? ? * ? ? ? * ? ? ?* (bash /u1/script/logsp.sh)

[root@gy01 logsplit]#cat /u1/script/logsp.sh

#!/bin/bash

. ~/.bashrc

/usr/sbin/logrotate -f/u1/script/logsplit/lbnginx

/usr/sbin/logrotate -f/u1/script/logsplit/nginx

/usr/sbin/logrotate -f/u1/script/logsplit/php-fpm

五、日志分析命令:

Nginx的日志格式:

log_formataccess '$remote_addr - $remote_user [$time_local] "$request" $status$body_bytes_sent $request_time "$http_referer""$http_user_agent" $http_x_forwarded_for $connection$connection_requests';

log記錄的詳情:

117.30.92.75 -- [04/Jun/2013:00:00:02 +0800] "GET /gywww/testconn HTTP/1.1" 200 50.001 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Window

s NT 6.1;Trident/5.0)" - 873663449 1

180.114.157.2- - [04/Jun/2013:00:00:02 +0800] "POST/gywww/resource/noticeService/getOfflineNoticeByUserid HTTP/1.1" 200 1470.003 "-"

"-" - 873663452 1

命令選項:

1)通過日志查看當天訪問次數(shù)最多的時間段

[root@gy01 ~]#awk '{print $4}' access.log | grep "04/Jun/2013"|cut -c 14-18|sort|uniq -c|sort -nr|head

2)通過日志查看當天指定ip訪問次數(shù)過的url和訪問次數(shù)

[root@gy01 ~]#cat access.log | grep "117.30.92.75 " |awk '{print $7}' | sort | uniq -c | sort –nr

3)通過日志查看當天訪問次數(shù)最多的10個IP

[root@gy01 ~]#awk '{print $1}' access.log |sort |uniq -c|sort-nr|head

4)通過日志查看當天ip連接數(shù),統(tǒng)計ip地址的總連接數(shù)

[root@gy01 ~]#cat access.log | grep "04/Jun/2013" | awk'{print $1}' | sort | uniq -c | sort –nr

5)通過日志查看當天訪問次數(shù)最多的10個IP ,只需要在上一個命令后加上head命令

[root@gy01 ~]#cat access.log | grep "04/Jun/2013" |awk'{print $3}'|sort |uniq -c|sort -nr|head –n 10

6)通過日志查看當天訪問頁面排前10的url

[root@gy01 ~]#cat access.log | grep "04/Jun/2013" | awk'{print $7}' | sort | uniq -c | sort -nr | head -n 10

總結(jié)

以上是生活随笔為你收集整理的centos 日志切割_centos自带的日志切割工具 --- logrotate的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。