Это можно сделать с помощью динамического шаблона файла. Используйте заменитель свойства , чтобы выбрать части свойства %timestamp%
, в частности параметры date-day
и date-hour
, а также символы с 1 по 3 из date-rfc3164
(, которая представляет собой строку типа «Окт 9 09 :47 :08" ). Обычно в примерах шаблон называетсяDynFile
:
$template DynFile,"/var/log/mail_logs/%timestamp:1:3:date-rfc3164%/%timestamp:::date-day%/%timestamp:::date-hour%.log"
Чтобы использовать шаблон, замените ...then -/var/log/mail_logs/amp.log
на...then -?DynFile
Если вы хотите заменить месяц из 3 -букв (январь, февраль,... )на месяц из 2 -цифр для упрощения работы, используйте вместо этого
$template DynFile,"/var/log/mail_logs/%timestamp:::date-month%/%timestamp:::date-day%/%timestamp:::date-hour%.log
Описанное выше поведение вызвано назначением «LinkLocalAddressing=yes» в разделе «Сеть» конфигурации systemd/network/10-eth0.network
.
Очевидно, это ошибка сети systemd; подробности этой ошибки можно посмотреть здесьhttps://github.com/systemd/systemd/issues/13316;
Из-за текущей системной ошибки было бы невозможно назначить адрес IPV4LL (IPV4 Link -Локальный адрес ), если DHCP-сервер не найден.
Если установлено значение LinkLocalAddressing=fallback
, DHCP-клиент перестанет прослушивать DHCP-сервер после назначения адреса IPV4LL. Это нарушает RFC 3927 (Ref https://tools.ietf.org/html/draft-ietf-dhc-dna-ipv4-01).
. Это означает, что когда DHCP-сервер снова подключен к сети, ранее назначенный адрес IPV4LL не будет удален, а новый адрес с DHCP-сервера никогда не будет назначен клиенту.