在centos 中的日志设置
ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/error_log-%Y.%m.%d-%H 86400 480"
CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log-%Y.%m.%d.%H 86400 480" common
附rotatelogs说明
rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]
选项
logfile
它加上基准名就是日志文件名。如果logfile中包含’%',则它会被视为用于的strftime(3)的格式字串;否则,它会被自动加上以秒为单位的.nnnnnnnnnn后缀。这两种格式都表示新的日志开始使用的时间
rotationtime
日志文件回卷的以秒为单位的间隔时间。 86400秒等于24小时,假定24小时一个日志文件
offset
相对于UTC的时差的分钟数。如果省略,则假定为0,并使用UTC时间。比如,要指定UTC时差为-5小时的地区的当地时间,则此参数应为-300。 480则为时差8小时
filesizeM
指定回卷时以兆字节为单位的后缀字母M的文件大小,而不是指定回卷时间或时差
在ubuntu 中的设置
使用apache自带的rotatelog进行日志切割,可将日志的文件名以年月日时分秒保存,如2011-10-21_14_20_00,设置如下:
首先在apache2的目录下有个sites-enabled文件夹,里面有个000-default文件,在该文件夹中加入一下内容:
CustomLog"|/usr/sbin/rotatelogs /var/log/apache2/access_log/access_log.%Y-%m_%d-%H_%M_%S 300 +480 "combined
ErrorLog "|/usr/sbin/rotatelogs /var/log/apache2/error_log/%Y%m%d 600400M"
rotatelogs说明:
rotatelogslogfile[ rotationtime [ offset ]] | [ filesizeM ]
rotationtime指的是设定多少秒后进行日志切割,如这里的300秒,在设定的时间之后系统将自动切割日志;
offset指的是日志时间的偏移量,如果不设置该偏移量,则默认为0,且显示的时间与北京时间会不一样,与北京时间相差8个小时,故建议将其设置为+480,单位为分钟;
filesizeM指的是日志多大之后自动切割,可接受的单位为K,M,G,上面的ErrorLog设置为400M之后自动切割日志。
我的000-default设置如下:
[html]viewplaincopyprint?
1.
2. ServerAdmin webmaster@localhost
3.
4. DocumentRoot /var/www/
5.
6. Options FollowSymLinks
7. AllowOverride None
8.
9.
10. Options Indexes FollowSymLinks MultiViews
11. AllowOverride None
12. Order allow,deny
13. allow from all
14.
15.
16. ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
17.
18. AllowOverride None
19. Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
20. Order allow,deny
21. Allow from all
22.
23.
24.# ErrorLog ${APACHE_LOG_DIR}/error.log
25.
26. # Possible values include: debug, info, notice, warn, error, crit,
27. # alert, emerg.
28. LogLevel warn
29.
30.# CustomLog ${APACHE_LOG_DIR}/access.log combined
31.
32. Alias /doc/ "/usr/share/doc/"
33.
34. Options Indexes MultiViews FollowSymLinks
35. AllowOverride None
36. Order deny,allow
37. Deny from all
38. Allow from 127.0.0.0/255.0.0.0 ::1/128
39.
40.CustomLog "|/usr/sbin/rotatelogs /var/log/apache2/access_log/access_log.%Y-%m_%d-%H_%M_%S 300 +480 " combined
41.ErrorLog "|/usr/sbin/rotatelogs /var/log/apache2/error_log/%Y%m%d 600 400M"
42.
ServerAdminwebmaster@localhost
DocumentRoot /var/www/
OptionsFollowSymLinks
AllowOverride None
Options IndexesFollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin//usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI-MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
# ErrorLog${APACHE_LOG_DIR}/error.log
# Possible values include:debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
# CustomLog${APACHE_LOG_DIR}/access.log combined
Alias /doc/"/usr/share/doc/"
Options Indexes MultiViewsFollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from127.0.0.0/255.0.0.0 ::1/128
CustomLog "|/usr/sbin/rotatelogs /var/log/apache2/access_log/access_log.%Y-%m_%d-%H_%M_%S 300 +480 "combined
ErrorLog "|/usr/sbin/rotatelogs /var/log/apache2/error_log/%Y%m%d 600400M"
今天妄图使用apache的rotatelogs来回卷Apache日志,翻看手册,很简单
c%o^`(uK+C'`q B
m.G%s0
.u-sN[tGs&sW0CustomLog “|bin/rotatelogs/var/logs/logfile 86400″ common
'|-B~W6uV0DOIT博客|Jh-Wa*R@
我需要两个小时生成一个apache日志,并以时间命名,于是依样画葫芦修改httpd.confDOIT博客]/b9mY:v*OLU*N[
DOIT博客0x5s#} A+a"I-xz
CustomLog “|bin/rotatelogs /var/logs/%Y%m%d%H.logfile7200″ common DOIT博客
N*}^b Fr
"|+Ri"Ha;J0重启apache失败,说明葫芦不能照着画:
\A$SZ5T1o
M0
-k"O9t(g8nDzn0xc0CustomLog“|/usr/local/httpd/bin/rotatelogs /var/logs/%Y%m%d%H.logfile 7200″ common DOIT博客l0j?]8ibi
DOIT博客h,R;rs/lk
修改后apache成功启动,但是生成的日志文件名(以小时命名)有些问题,与服务器时间相差8小时,仔细查看手册,原来是rotatelogs的使用有些机关(有个offset参数,单位是分钟)
)k-E#} V
bc0DOIT 博客 x1Q~&F-Q3YwSL
CustomLog“|/usr/local/httpd/bin/rotatelogs /var/logs/%Y%m%d%H.logfile 7200 480″ common
4Rs#j B#CP'i0DOIT博客,{U^0yCDQ
重启后收工DOIT博客+jBf
Li}n'G
}ekOC-EA N0附rotatelogs说明
$l.U-B:c@(i
n%E0
VN_&O
As9wK9M0 rotatelogslogfile [ rotationtime [ offset ]] | [filesizeM ]
*u5D|1f8M9C0DOIT博客mnq4i+LRj
选项
@Z HCQ[0logfile
/^ l}Lor)A0它加上基准名就是日志文件名。如果logfile中包含’%',则它会被视为用于的strftime(3)的格式字串;否则,它会被自动加上以秒为单位的.nnnnnnnnnn后缀。这两种格式都表示新的日志开始使用的时间。DOIT博客 s'n/~7k&} ~)D d
rotationtimeDOIT博客+l(dp`0}n
日志文件回卷的以秒为单位的间隔时间DOIT博客I?]cMre
offset
)o([email protected])B0相对于UTC的时差的分钟数。如果省略,则假定为0,并使用UTC时间。比如,要指定UTC时差为-5小时的地区的当地时间,则此参数应为-300。
.Rq OCP0filesizeM
B9_WvZQ#x4]%h rX0指定回卷时以兆字节为单位的后缀字母M的文件大小,而不是指定回卷时间或时差。
3T/\z!haJ`k0DOIT博客(v5b(G!T
[S@{*k6V
c
========================DOIT博客[T4G2z(hd)`7hn
DOIT博客Z O)] r0[*v\#B6Y
Windows下Apache Rotatelogs设置命令范例:
2M&J'@fL.e,C3{;P_0DOIT博客 w6fC$F{ ?
CustomLog “|bin/rotatelogs.exee:\weblog\access%Y%m%d.log 86400 480″common DOIT博客 T'r!A8B,xV9O