> 文章列表 > logrotate nginx

logrotate nginx

logrotate nginx

什么是.logrotate?

日志轮换(logrotate)是Linux操作系统上的一个实用工具,用于处理日志文件。它可以定期地压缩和清理文件,避免文件占用太多磁盘空间。.logrotate是logrotate工具的一个配置文件格式。

为什么要使用.logrotate?

在运行nginx这样的Web服务器时,日志文件通常会迅速增长,可能会占用大量磁盘空间。如果没有定期轮替日志文件,它们可能会占满整个磁盘,最终导致服务器崩溃。这就是为什么需要使用.logrotate的原因。

.logrotate nginx设置

要设置.logrotate来轮替nginx的访问日志和错误日志,需要创建一个配置文件并将其放入/etc/logrotate.d目录中。在该配置文件中,可以指定日志文件的位置、备份和压缩策略、日志文件的最大大小等信息。

配置文件例子

下面是一个.logrotate配置文件的例子,用于轮替默认情况下nginx生成的访问日志和错误日志文件。

/var/log/nginx/*.log {    daily    missingok    rotate 14    compress    delaycompress    notifempty    create 0640 www-data adm    sharedscripts    postrotate        if [ -f /var/run/nginx.pid ]; then            kill -USR1 `cat /var/run/nginx.pid`        fi    endscript}

在上述配置中,'* .log'通配符将匹配/var/log/nginx目录下的所有.log文件。 daily选项表示每天轮替一次,missingok选项表示如果某个日志文件丢失,则不会出现错误。rotate 14选项表示保留最近14个备份文件。compress选项表示压缩备份文件。delaycompress选项表示压缩时不压缩当天日志文件。notifempty选项表示如果日志文件为空,则不轮替它。create选项表示新日志文件的权限和用户组。 sharedscripts选项表示一个脚本在轮替所有日志文件之后运行一次,postrotate和endscript之间的命令用于重新启动nginx以便它重新打开日志文件。

.logrotate saplogd设置

saplogd是SAP应用程序服务器的一个UNIX守护程序,用于记录应用程序服务器的日志。saplogd的日志文件通常会占据大量的磁盘空间,因此建议使用.logrotate来定期轮替它们。可以像轮替nginx日志文件那样,创建.saplogd文件并将其放入/etc/logrotate.d目录中,并在其中定义轮替规则。例如:

/var/log/sap/*.log {    daily    missingok    rotate 7    compress    delaycompress    notifempty    create 0640 sapadm sapadm}

在上面的配置中,daily选项表示每天轮替一次日志文件,rotate 7选项表示保留最近7个备份文件,其他选项与上一节中讨论的选项相同。