Systemd печатает журналы во внешний файл журнала

Полное завершение работы Windows позволит полностью монтировать диски с помощью Ubuntu. Это можно сделать, удерживая клавишу SHIFT при нажатии кнопки «Выключить» в меню «Питание».

3
задан 27 April 2017 в 20:24

3 ответа

systemd уже предоставляет настраиваемый журнал для вас по умолчанию в журнале systemd. Он автоматически перенаправляет как STDIN, так и STDOUT там, а также обрабатывает рост и ротацию файла журнала.

Просто оставьте перенаправление файла журнала из вашей строки ExecStart=. Чтобы просмотреть журналы, созданные вашей службой, используйте journalctl -u security.

См. man journald.conf для соответствующих параметров конфигурации и man journalctl для получения дополнительных параметров для просмотра и запроса данных журнала.

Документы в man systemd.service объясняют, что синтаксис перенаправления не поддерживается в строке ExecStart=:

Этот синтаксис должен быть очень похож на синтаксис оболочки, но только метасимволы и расширения, описанные в следующих параграфах. В частности, перенаправление с использованием «& lt;», «& lt;», «>» и «>>», трубы, использующие «|», запуск программ в фоновом режиме с использованием «& amp;» и других элементов синтаксиса оболочки не поддерживается.
2
ответ дан 18 July 2018 в 14:09

systemd уже предоставляет настраиваемый журнал для вас по умолчанию в журнале systemd. Он автоматически перенаправляет как STDIN, так и STDOUT там, а также обрабатывает рост и ротацию файла журнала.

Просто оставьте перенаправление файла журнала из вашей строки ExecStart=. Чтобы просмотреть журналы, созданные вашей службой, используйте journalctl -u security.

См. man journald.conf для соответствующих параметров конфигурации и man journalctl для получения дополнительных параметров для просмотра и запроса данных журнала.

Документы в man systemd.service объясняют, что синтаксис перенаправления не поддерживается в строке ExecStart=:

Этот синтаксис должен быть очень похож на синтаксис оболочки, но только метасимволы и расширения, описанные в следующих параграфах. В частности, перенаправление с использованием «& lt;», «& lt;», «>» и «>>», трубы, использующие «|», запуск программ в фоновом режиме с использованием «& amp;» и других элементов синтаксиса оболочки не поддерживается.
2
ответ дан 24 July 2018 в 20:20
  • 1
    Моя проблема в том, что когда у нас была Upstart, мы смогли создать отдельный файл журнала, и когда у нас возникли какие-либо проблемы, мы могли бы загрузить этот файл журнала локально и отправить в соответствующую команду. Итак, как мы это делаем с Systemd? – Aniruddha Raje 28 April 2017 в 07:28
  • 2
    Вы всегда можете экспортировать копию журнала при необходимости с помощью journalctl -u security > /path/to/security.log. Убедитесь, что в /etc/systemd/journald.conf у вас есть Storage=persistent, чтобы гарантировать, что журналы сохраняются между загрузками. – Mark Stosberg 28 April 2017 в 16:51

systemd уже предоставляет настраиваемый журнал для вас по умолчанию в журнале systemd. Он автоматически перенаправляет как STDIN, так и STDOUT там, а также обрабатывает рост и ротацию файла журнала.

Просто оставьте перенаправление файла журнала из вашей строки ExecStart=. Чтобы просмотреть журналы, созданные вашей службой, используйте journalctl -u security.

См. man journald.conf для соответствующих параметров конфигурации и man journalctl для получения дополнительных параметров для просмотра и запроса данных журнала.

Документы в man systemd.service объясняют, что синтаксис перенаправления не поддерживается в строке ExecStart=:

Этот синтаксис должен быть очень похож на синтаксис оболочки, но только метасимволы и расширения, описанные в следующих параграфах. В частности, перенаправление с использованием «& lt;», «& lt;», «>» и «>>», трубы, использующие «|», запуск программ в фоновом режиме с использованием «& amp;» и других элементов синтаксиса оболочки не поддерживается.
3
ответ дан 31 July 2018 в 13:27
  • 1
    Моя проблема в том, что когда у нас была Upstart, мы смогли создать отдельный файл журнала, и когда у нас возникли какие-либо проблемы, мы могли бы загрузить этот файл журнала локально и отправить в соответствующую команду. Итак, как мы это делаем с Systemd? – Aniruddha Raje 28 April 2017 в 07:28
  • 2
    Вы всегда можете экспортировать копию журнала при необходимости с помощью journalctl -u security > /path/to/security.log. Убедитесь, что в /etc/systemd/journald.conf у вас есть Storage=persistent, чтобы гарантировать, что журналы сохраняются между загрузками. – Mark Stosberg 28 April 2017 в 16:51

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

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