Формат дат моих журналов почтового журнала выглядит следующим образом:
May 12 04:12:54
Мне нужно указать год на этой дате. Возможно ли такое изменение?
Возможно, лучший ответ - использовать новый стандарт syslog для всех журналов, генерируемых rsyslog ..... см.
http://support.pimpmylog.com/kb/softwares/rsyslog-protocol-23-format
Конфигурация довольно близка к стандарту RFC 5424.
Это делается путем помещения в файл rsyslog.conf следующей строки:
$ActionFileDefaultTemplate RSYSLOG_SyslogProtocol23Format
Данная строка в файле системного журнала будет выглядеть следующим образом:
<27>1 2014-01-12T20:06:05.783312-05:00 somebody smbd 3752 - - [2014/01/12 20:06:05.783190, 0] printing/print_cups.c:487(cups_async_callback)
Обратите внимание, что в метку времени включены полное время и дата, а также часовой пояс.
После небольшого дополнительного исследования и нескольких тестов я нашел нужное решение. Мой сервер работает с CentOS 7.6, в которой для ведения журнала используется rsyslog.
$template MailLogFormat, "%timestamp:::date-year%-%timestamp:::date-month%-%timestamp:::date-day% %timestamp:::date-hour%:%timestamp:::date-minute%:%timestamp:::date-second% %hostname% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
# Log all the mail messages in one place.
mail.* -/var/log/maillog
и измените на:
# Log all the mail messages in one place.
mail.* -/var/log/maillog;MailLogFormat
systemctl restart rsyslog
Готово. Журналы в файле / var / log / maillog будут напечатаны с датой в формате: Год-Месяц-День Час: Минута: Секунда.