Где я должен искать logrotate файл конфигурации /var/log/mail.log

Я хотел бы изменить суффикс mail.log повернутые файлы для включения даты, такой как

/var/log/mail.log.20180920

Я считал из этого вопроса это /etc/cron.weekly/sysklogd должен быть изменен, но у меня нет такого файла. Я хотел бы переписать значения по умолчанию, однако, это упоминается в этом сообщении для записи новой конфигурации для этого. Таким образом, я нашел, что, потому что этот файл журнала создается системным журналом, он перечислен в /etc/logrotate.d/rsyslog, таким образом, я изменил этот файл на следующее для включения суффикса даты:

/var/log/syslog
{
        rotate 400
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                reload rsyslog >/dev/null 2>&1 || true
        endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
        rotate 400
        hourly
        dateext
        dateformat .%Y%m%d
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                reload rsyslog >/dev/null 2>&1 || true
        endscript
}

Я также удаляю записи для rsyslog и mail.log от/var/lib/logrotate/status, чтобы вынудить журнал вращаться на сегодняшний день, затем я работаю: logrotate /etc/logrotate.conf --debug, но в выводе я добираюсь:

rotating pattern: 
/var/log/mail.log
 hourly (400 rotations)
empty log files are not rotated, old logs are removed
switching euid to 0 and egid to 104
considering log /var/log/mail.log
  log does not need rotating

таким образом я делаю logrotate -f /etc/logrotate.conf вынудить это повернуть журнал, записи в /var/lib/logrotate/status обновляется. Файл /var/log/maill.log сгенерирован, но что я ожидаю, должен видеть a mail.log.20181020 файл, почему это не генерирует это?

Спасибо

1
задан 21 September 2018 в 01:06

2 ответа

От man logrotate:, около конца

FILES

   /var/lib/logrotate/status  Default state file.
   /etc/logrotate.conf        Configuration options.
1
ответ дан 7 December 2019 в 13:21

В /etc/logrotate.conf можно установить следующие директивы:

   dateext
          Archive old versions of log files adding a date extension like YYYYMMDD instead of simply adding a  number.
          The extension may be configured using the dateformat and dateyesterday options.

   dateformat format_string
          Specify  the  extension for dateext using the notation similar to strftime(3) function. Only %Y %m %d %H %M
          %S %V and %s specifiers are allowed.  The default value is -%Y%m%d except hourly, which uses  -%Y%m%d%H  as
          default value.  Note that also the character separating log name from the extension is part of the datefor‐
          mat string. The system clock must be set past Sep 9th 2001 for %s to work correctly.  Note that  the  date‐
          stamps  generated  by this format must be lexically sortable (i.e., first the year, then the month then the
          day. e.g., 2001/12/01 is ok, but 01/12/2001 is not, since 01/11/2002 would sort lower while it  is  later).
          This  is because when using the rotate option, logrotate sorts all rotated filenames to find out which log‐
          files are older and should be removed.

   dateyesterday
          Use yesterday's instead of today's date to create the dateext extension, so that the rotated log file has a
          date in its name that is the same as the timestamps within it.

Дополнительная информация может быть найдена здесь или с man logrotate.

1
ответ дан 7 December 2019 в 13:21

Другие вопросы по тегам:

Похожие вопросы: