dream_653
作者dream_653·2019-12-04 11:05
系统应用运维·*****

cronolog日志切割

字数 2848阅读 2210评论 0赞 1

cronolog日志切割

rpm包安装

1.安装epelyum源

yum install -y wget vim  
wget http://ftp.sjtu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm  
rpm -ivh epel-release-6-8.noarch.rpm  

2.安装ntp

yum install -y ntp  

3.时间同步

 ntpdate     ntp1.aliyun.com

4.安装cronolog

yum install -y cronolog

源码安装

wget http://cronolog.org/download/cronolog-1.6.2.tar.gz  
tar xf cronolog-1.6.2.tar.gz  
cd cronolog-1.6.2  
 ./configure  
make && make install  
which cronolog  

cronolog 使用

(1).基本使用

[root@node6 ~]# cronolog -h  
usage: cronolog [OPTIONS] logfile-spec  
-H NAME, --hardlink=NAME maintain a hard link from NAME to current log  
-S NAME, --symlink=NAME maintain a symbolic link from NAME to current log  
-P NAME, --prev-symlink=NAME maintain a symbolic link from NAME to previous log  
-l NAME, --link=NAME same as -S/--symlink  
-h, --help print this help, then exit  
-p PERIOD, --period=PERIOD set the rotation period explicitly  
-d DELAY, --delay=DELAY set the rotation period delay  
-o, --once-only create single output log from template (not rotated)  
-x FILE, --debug=FILE write debug messages to FILE  
( or to standard error if FILE is "-")  
-a, --american American date formats  
-e, --european European date formats (default)  
-s, --start-time=TIME starting time  
-z TZ, --time-zone=TZ use TZ for timezone  
-V, --version print version number, then exit  

cronolog 一般是采取管道的方式来工作的,采用如下的形式:
loggenerator | cronolog log_file_pattern
其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入cronolog所支持的时间相关的pattern字符,如/www/log/%y/%m/%d/access.log。其pattern为%字符后跟一特殊字符,简述如下:

转义符:   
% %字符  
n 换行  
t 水平制表符  
时间域:   
H 小时(00..23)  
I 小时(01..12)  
p 该locale下的AM或PM标识  
M 分钟(00..59)  
S 秒 (00..61, which allows for leap seconds)  
X 该locale下时间表示符(e.g.: "15:12:47")  
Z 时区。若时区不能确定,则无意义  
日期域:   
a 该locale下的工作日简名(e.g.: Sun..Sat)  
A 该locale下的工作日全名(e.g.: Sunday .. Satur-ay)  
b 该locale下的月份简称(e.g.: Jan .. Dec)  
B 该locale下的月份全称(e.g.: January .. December)  
c 该locale下的日期和时间(e.g.: "Sun Dec 15 14:12:47 GMT 1996")  
d 当月中的天数 (01 .. 31)  
j 当年中的天数 (001 .. 366)  
m 月数 (01 .. 12)  
U 当年中的星期数,以周日作为一周开始,其中第一周为首个含星期天的星期(00..53)  
W 当年中的星期数,以星期一作为一周的开始,其中第一周为首个含星期天的星期(00..53)  
w 工作日数(0 .. 6, 0表示星期天)  
x 该locale下的日期表示(e.g. "13/04/97")  
y 两位数的年份(00 .. 99)  
Y 四位数的年份(1970 .. 2038)  

(2).结合apache使用
编辑httpd.conf文件,将其中的

vim /usr/local/apache2/conf/httpd.conf  
将默认日志: CustomLog "logs/access_log" combined  
修改为:CustomLog "|/usr/local/sbin/cronolog /log/www/access_%Y%m%d.log" combined 即可。其中%Y%m%d为日志文件分割方式,即为“年月日”。  
 /usr/local/apache2/bin/apachectl restart  

对Tomcat日志的切割

在tomcat/bin/catalian.sh中找到:  
org.apache.catalina.startup.Bootstrap "$@" start /   
>> "$CATALINA_BASE"/logs/catalina.out 2&1 &  
修改为:  
org.apache.catalina.startup.Bootstrap "$@" start /   
|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d  
>> /dev/null 2&1 &

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广