如何在Alpine Linux中安装和配置logrotate
时间:2020-01-09 10:39:17 来源:igfitidea点击:
在Alpine Linux中,如何安装logrotate为Nginx服务器配置日志轮换(转储)?
您需要使用apk命令命令来安装logrotate。
这是一个易于使用的sysadmin工具,用于管理大量日志文件。
您可以执行自动转储,压缩,删除等操作。
本教程向您展示"如何在运行于lxd或VM或任何其他云服务的Alpine Linux上使用logrotate管理日志文件"。
在Alpine Linux中安装和配置logrotate
执行以下命令:
# apk add logrotate
输出示例:
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz (1/2) Installing popt (1.16-r7) (2/2) Installing logrotate (3.14.0-r0) Executing busybox-1.28.4-r3.trigger OK: 90 MiB in 82 packages
配置
您的logrotate每天都会使用cron作业被调用。
这是默认的cronjob:
# cat /etc/periodic/daily/logrotate
输出示例:
#!/bin/sh if [ -f /etc/conf.d/logrotate ]; then . /etc/conf.d/logrotate fi if [ -x /usr/bin/cpulimit ] && [ -n "$CPULIMIT" ]; then _cpulimit="/usr/bin/cpulimit --limit=$CPULIMIT" fi $_cpulimit /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0
缺省的logrotate文件位于/etc/logrotate.conf中:
# cat /etc/logrotate.conf
输出示例:
# see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # exclude alpine files tabooext + .apk-new # uncomment this if you want your log files compressed compress # main log file /var/log/messages {} # apk packages drop log rotation information into this directory include /etc/logrotate.d # system-specific logs may be also be configured here.
对于nginx服务器,如下创建/更新/etc/logrotate.d/nginx文件:
# cat /etc/logrotate.d/nginx
输出示例:
/var/log/nginx/*.log { missingok sharedscripts postrotate /etc/init.d/nginx --quiet --ifstarted reopen endscript }
这意味着:
/var/log/nginx/*。log
处理/var/log/nginx /目录中的所有日志文件。missingok
不要停止任何错误,并继续下一个日志文件。sharedscripts
共享脚本意味着postrotate脚本将只运行一次(在压缩旧日志之后),而不是对每个循环日志运行一次。postrotate ... script ... endscript
在压缩旧日志后运行此脚本。在这种情况下,请重新打开nginx的日志文件。
这将每周轮换日志文件。