Linux下使用logrotate实现日志切换
2017-02-22 14:25
591 查看
运维过程中经常会发现一些 C 程序,每天会生产这样的日志: /home/admin/app_name/logs/access_log
那么天长地久,如果这个程序不会自动去轮转这个日志,那么这个日志文件则会越来越大,我们其实可以使用 linux 里面的 logrotate 来实现自定义日志轮转.
方法如下:
一、建立轮转配置文件:
#vi /etc/logrotate.d/app_name
/home/admin/app_name/logs/access_log
{
daily
dateext
copytruncate
nocompress
rotate 15
}
// /home/admin/app_name/logs/access_log 指明日志文件的绝对路径
// daily 表示日志每天轮转一次
// dateext 表示切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,如果没有这个配置项则会附加一个小数点加一个数字序号
// copytruncate 表示在复制当前日志文件后,将日志文件清空;而不是将当前日志文件改名后创建一个新的
// nocompress 表示不压缩切换后的日志文件
// rotate 15 表示保存15份旧的日志文件
// 更多配置请参考 man logrotate 手册.
二、重启 syslogd 服务 (或 syslog-ng)
service syslogd restart
/usr/bin/killall -HUP syslogd
service syslog-ng restart
/usr/bin/killall -HUP syslog-ng
三、测试 (执行配置文件,强制进行一次日志轮转):
logrotate -f /etc/logrotate.d/app_name
四、扩展其他日志切换操作:
#ls /etc/logrotate.d/
acpid conman cups httpd mgetty ppp psacct rpm samba sa-update setroubleshoot snmpd syslog-ng tsar up2date
# 针对某个配置对其日志进行切换:
logrotate -f config_name
# 强制切换所有配置:
logrotate -f /etc/logrotate.conf
那么天长地久,如果这个程序不会自动去轮转这个日志,那么这个日志文件则会越来越大,我们其实可以使用 linux 里面的 logrotate 来实现自定义日志轮转.
方法如下:
一、建立轮转配置文件:
#vi /etc/logrotate.d/app_name
/home/admin/app_name/logs/access_log
{
daily
dateext
copytruncate
nocompress
rotate 15
}
// /home/admin/app_name/logs/access_log 指明日志文件的绝对路径
// daily 表示日志每天轮转一次
// dateext 表示切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,如果没有这个配置项则会附加一个小数点加一个数字序号
// copytruncate 表示在复制当前日志文件后,将日志文件清空;而不是将当前日志文件改名后创建一个新的
// nocompress 表示不压缩切换后的日志文件
// rotate 15 表示保存15份旧的日志文件
// 更多配置请参考 man logrotate 手册.
二、重启 syslogd 服务 (或 syslog-ng)
service syslogd restart
/usr/bin/killall -HUP syslogd
service syslog-ng restart
/usr/bin/killall -HUP syslog-ng
三、测试 (执行配置文件,强制进行一次日志轮转):
logrotate -f /etc/logrotate.d/app_name
四、扩展其他日志切换操作:
#ls /etc/logrotate.d/
acpid conman cups httpd mgetty ppp psacct rpm samba sa-update setroubleshoot snmpd syslog-ng tsar up2date
# 针对某个配置对其日志进行切换:
logrotate -f config_name
# 强制切换所有配置:
logrotate -f /etc/logrotate.conf
相关文章推荐
- Linux下使用logrotate实现日志切换
- [日志分割回滚] 使用linux自带的logrotate对nginx日志进行分割(脚本)
- logrotate 命令切换linux系统日志
- Linux使用logrotate分割管理日志rsync日志 推荐
- 使用logrotate实现日志轮训压缩
- How to use logrotate to manage log files in linux(如何在Linux中使用logrotate去管理日志文件)
- [日志分割回滚] 使用linux自带的logrotate对nginx日志进行分割(脚本)
- 使用logrotate来回滚linux上的日志
- 在Linux系统中使用logrotate来管理日志文件的方法
- 使用logrotate 管理日志文件 (Linux相关)
- Linux使用logrotate来切割日志文件
- linux日志转储及logrotate命令使用
- 使用 Linux 自带的 logrotate 程序来控制日志文件尺寸
- 在linux下使用webalizer与awstats实现apache服务器的日志分析
- 使用linux服务logrotate文件tomcat日志文件
- linux下实现每天自动发送服务器日志到邮箱(使用sendmail)
- 使用logrotate实现日志的维护
- linux 使用logrotate做日志轮替
- [日志分割回滚] 使用linux自带的logrotate对nginx日志进行分割
- 在Linux下使用logrotate管理日志(转)