这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
zh:常见问题及解答:logrotate日志管理工具 [2016/11/23 03:19] liuxl |
— (当前版本) | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | <note> logrotate是一个日志文件管理工具。用来把旧文件轮转、压缩、删除,并且创建新的日志文件。我们可以根据日志文件的大小、天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的。logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改。日志文件的轮循设置在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下。 </note> | ||
| - | *1、参数说明 | ||
| - | |||
| - | <code>【missingok】: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。 | ||
| - | 【compress】:通过gzip 压缩转储旧的日志。 | ||
| - | 【nocompress】:不需要压缩时,用这个参数。 | ||
| - | 【copytruncate】:用于还在打开中的日志文件,把当前日志备份并截断。 | ||
| - | 【nocopytruncate】:备份日志文件但是不截断。 | ||
| - | 【create mode owner group】:使用指定的文件模式创建新的日志文件。 | ||
| - | 【nocreate】:不建立新的日志文件。 | ||
| - | 【delaycompress】:和 compress 一起使用时,转储的日志文件到下一次转储时才压缩。 | ||
| - | 【nodelaycompress】:覆盖 delaycompress 选项,转储同时压缩。 | ||
| - | 【errors address】:专储时的错误信息发送到指定的Email 地址。 | ||
| - | 【ifempty】:即使是空文件也转储,这个是 logrotate 的缺省选项。 | ||
| - | 【notifempty】:如果是空文件的话,不转储。 | ||
| - | 【mail address】:把转储的日志文件发送到指定的E-mail 地址。 | ||
| - | 【nomail】:转储时不发送日志文件。 | ||
| - | 【olddir directory】:转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统。 | ||
| - | 【noolddir】:转储后的日志文件和当前日志文件放在同一个目录下。 | ||
| - | 【prerotate/endscript】:在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行。 | ||
| - | 【postrotate/endscript】:在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行。 | ||
| - | 【sharedscripts】:所有的日志文件都轮转完毕后统一执行一次脚本。 | ||
| - | 【daily】:指定转储周期为每天。 | ||
| - | 【weekly】:指定转储周期为每周。 | ||
| - | 【monthly】:指定转储周期为每月。 | ||
| - | 【rotate count】:指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份。 | ||
| - | 【size size】:当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB。</code> | ||
| - | |||
| - | *2、配置实例 | ||
| - | |||
| - | <code>/var/log/php-fpm/*log { | ||
| - | missingok # 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。 | ||
| - | notifempty # 如果是空文件的话,不转储。 | ||
| - | sharedscripts # 所有的日志文件都轮转完毕后统一执行一次postrotate脚本。 | ||
| - | delaycompress # 转储的日志文件到下一次转储时才压缩。 | ||
| - | postrotate # 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行。 | ||
| - | /bin/kill -SIGUSR1 `cat /var/run/php-fpm/php-fpm.pid 2>/dev/null` 2>/dev/null || true | ||
| - | endscript # 命令结束。 | ||
| - | }</code> | ||
| - | |||
| - | <code>/var/log/mysqld.log { | ||
| - | create 640 mysql mysql | ||
| - | notifempty | ||
| - | daily | ||
| - | rotate 3 | ||
| - | missingok | ||
| - | compress | ||
| - | postrotate | ||
| - | #just if mysqld is really running | ||
| - | if test -x /usr/bin/mysqladmin && \ | ||
| - | /usr/bin/mysqladmin ping &>/dev/null | ||
| - | then | ||
| - | /usr/bin/mysqladmin flush-logs | ||
| - | fi | ||
| - | endscript | ||
| - | }</code> | ||