使用rotatologs定时定量滚动日志

日志官网

https://httpd.apache.org/docs/2.4/en/programs/rotatelogs.html

 

这是一款给予管道的日志,可以定时翻滚和定量翻滚,每次翻滚可以认为是切换到另一个文件.

语法

rotatelogs [ -l ] [ -L linkname ] [ -p program ] [ -f ] [ -D ] [ -t ] [ -v ] [ -e ] [ -c ] [ -n number-of-files ] logfile rotationtime|filesize(B|K|M|G) [ offset ]

参数,除了-t(追加改覆盖,在名字相同的情况下) 一般不用,最后一个偏移量也不使用,具体查看官网,常用格式 10为间隔时间单位为秒,或者使用10M 为文件大小,意思是多久翻滚一次

sh generate.sh | /usr/sbin/rotatelogs bb%S.log 10

 

案例

generate.sh内容

# !/bin/bash 
while true 
do 
    echo "Hello World!" 
done

定时翻滚,每10秒翻滚一次,(标准错误重定向)

sh generate.sh 2>&1 | /usr/sbin/rotatelogs bb%S.log 10

生成的文件是,一分钟的话能生成6个,达到6个会,会因为文件名重复,继续在第一个 追加,

如果希望不是追加则,增加-t参数,是追加变成覆盖,

sh generate.sh 2>&1 | /usr/sbin/rotatelogs -t bb%S.log 10

 

使用这个可以实现日志已周为单位,然后定期覆盖,只保留一周的日志 86400为24小时

sh generate.sh 2>&1 | /usr/sbin/rotatelogs -t bb%a.log 86400

 

另一种用法,10M翻滚一次

sh generate.sh 2>&1 | /usr/sbin/rotatelogs bb%a.log 10M

 

文件名格式化

%A

full weekday name (localized)

%a

3-character weekday name (localized)

%B

full month name (localized)

%b

3-character month name (localized)

%c

date and time (localized)

%d

2-digit day of month

%H

2-digit hour (24 hour clock)

%I

2-digit hour (12 hour clock)

%j

3-digit day of year

%M

2-digit minute

%m

2-digit month

%p

am/pm of 12 hour clock (localized)

%S

2-digit second

%U

2-digit week of year (Sunday first day of week)

%W

2-digit week of year (Monday first day of week)

%w

1-digit weekday (Sunday first day of week)

%X

time (localized)

%x

date (localized)

%Y

4-digit year

%y

2-digit year

%Z

time zone name

%%

literal `%'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值