Alpine Linux 安装和配置 logrotate
对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件,对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件,logrotate 还可以用来备份日志文件.
您需要使用apk命令来安装logrotate。它是一个易于使用的sysadmin工具,用于管理大量的日志文件。您可以进行自动旋转,压缩,移除等等。本教程将向您介绍如何在运行于lxd或VM或任何其他云服务的Alpine Linux上使用logrotate管理日志文件。对于基本的Linux应用技巧请参考《Linux就该这么学》。
操作方法
- 01
安装 键入以下命令:# apk add logrotate 示例输出: (1/2) Installing popt (1.16-r6) (2/2) Installing logrotate (3.10.0-r0) Executing busybox-1.25.1-r0.trigger OK: 89 MiB in 51 packages
- 02
组态 您的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
- 03
默认的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.
- 04
对于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 }
- 05
配置文件说明 /var/log/nginx/*.log - 处理/ var / log / nginx /目录中的所有日志文件。 missingok - 不要停止任何错误并进行下一个日志文件。 sharedscripts - 共享脚本意味着后转脚本只能运行一次(在旧的日志被压缩之后),而不是一次旋转的每个日志。 postrotate ... script ... endscript - 在旧日志压缩后运行此脚本。在这种情况下,需要重新打开nginx的日志文件。