Назад | Перейти на главную страницу

Почему Postfix в Linux требует символа «-» перед именем файла журнала?

Я нашел следующее Вот:

ВАЖНО: в Linux вам нужно поставить символ «-» перед именем пути, например, - / var / log / maillog, иначе процесс syslogd будет использовать больше системных ресурсов, чем Postfix.

Но в документации нет причин для этого. Итак, зачем нужен этот "-"?

это требуется только в том случае, если вы все еще используете syslogd или более старые версии rsyslog

из http://www.rsyslog.com/doc/v3compatibility.html , раздел «Синхронизация выходных файлов»

Rsyslogd старается сохранить как можно более совместимый со стандартным syslogd. Таким образом, он сохранил стандартную настройку syslogd по умолчанию для синхронизации каждой записи файла, если не указано иное (путем размещения тире перед именем выходного файла). Хотя это было полезной функцией в прошлые дни, когда оборудование было гораздо менее надежным, а ИБП - редко, в сегодняшнем мире она больше не нужна. Вместо этого синхронизация - это хит с высокой производительностью. С его помощью rsyslogd записывает около 50 файлов. раз медленнее, чем без него. Это также влияет на общую производительность системы из-за высокой активности ввода-вывода. В rsyslog v3 синхронизация по умолчанию отключена. Это делается с помощью специальной директивы конфигурации «$ ActionFileEnableSync on / off», которая по умолчанию отключена. Поэтому, даже если rsyslogd находит строки селектора синхронизации, по умолчанию он игнорирует их. Чтобы включить синхронизацию файлов, администратор должен указать «$ ActionFileEnableSync on» в верхней части rsyslog.conf. Это гарантирует, что синхронизация происходит только в некоторых установках, где администратору действительно нужна эта (повышающая производительность) функция. В большинстве случаев (если не во всех) это резко увеличивает производительность rsyslogd без каких-либо негативных последствий.