Руководства

/
/
Работа с systemctl и journalctl в Linux

Работа с systemctl и journalctl в Linux

Для чего это нужно

Работа с systemctl и journalct в Linux необходима для управления службами в операционной системе. Это позволяет администраторам системы эффективно управлять службами, контролировать их состояние, а также настраивать автозапуск при загрузке системы.

Знание данных инструментов также полезно при анализе журналов системы для выявления ошибок, отслеживания действий и поиска информации о работе служб и программ в Linux.

Инструкции

Работа с systemctl

Systemctl позволяет управлять службами, их состоянием, возможностями запуска, а также просматривать службы операционной системы.

Основные команды:

  • systemctl start <имя-службы> - запуск службы,
  • systemctl stop <имя-службы> - остановка службы,
  • systemctl restart <имя-службы> - перезапуск службы,
  • systemctl enable <имя-службы> - включение автозапуска службы,
  • systemctl disable <имя-службы> - отключение автозапуска,
  • systemctl mask <имя-службы> - запрет на запуск службы,
  • systemctl unmask <имя-службы> - разрешение запуска службы,
  • systemctl list-units --type=service - вывод списка служб в системе.

 

Например, для запуска службы SSH выполните:

systemctl start sshd

Команды выполняются с правами суперпользователя. Для входа под суперпользователя воспользуйтесь "su root".

 

Работа с journalctl

При работе с журналами системного журнала через journalctl, удобно знать основные команды для просмотра и навигации по выводу.

По умолчанию journalctl использует утилиту "more" для постраничного отображения вывода - это означает, что вы можете управлять просмотром журнала, используя клавиши для прокрутки вверх, вниз и другие команды управления.

Вот некоторые основные команды для работы с journalctl в консоли:

  • journalctl -u <имя-службы> - отображение всех журналов службы,
  • journalctl -f - просмотр журнала в реальном времени,
  • journalctl --since <дата и время> - просмотр журнала за определенный промежуток времени,
  • journalctl --until <дата и время> - просмотр журнала до определенного времени.
  • journalctl -p <0|1|2|3|4|5|6|7>- отображение сообщений журнала определенного приоритета.

 

Например, для отображения всех журналов запуска службы SSH:

journalctl -u sshd

 

Клавиши для навигации по открытому журналу:

  • Клавиши "Вверх" и "Вниз" - прокрутка журнала,
  • PgUp и PgDown - постраничная прокрутка журнала,
  • End и Home - перемещение в конец и начало журнала соответственно,
  • Q - выход из просмотра журнала.

 

Перенаправление вывода и использование grep.

Помимо навигации по выводу journalctl в консоли, важно также знать, как перенаправить этот вывод в файл для последующего анализа или сохранения. 

Для перенаправления вывода journalctl в файл вы можете использовать символ ">" в консоли, например:

journalctl > journal_log.txt

Данная команда перенаправит вывод journalctl в файл с именем "journal_log.txt". Вы также можете использовать утилиту grep для фильтрации вывода journalctl и нахождения конкретной информации.

Например, чтобы найти все строки, содержащие информацию о "mysql", вы можете выполнить следующую команду:

journalctl | grep "mysql"

 

Сохранение журнала после перезагрузки.

По умолчанию журналы системы не сохраняются после перезагрузки.

Чтобы они сохранялись, вам нужно в файле конфигурации "/etc/systemd/journald.conf" изменить значение параметра "Storage" на "persistent":

Storage=persistent

 

Ограничение размера журнала.

Вы также можете ограничить размер журнала, используя параметр "SystemMaxUse" в файле конфигурации "/etc/systemd/journald.conf".

Например, чтобы ограничить размер журнала до 1GB, измените значение параметра "SystemMaxUse" на "1G":

SystemMaxUse=1G

 

После внесения изменений, необходимо перезапустить службу journald:

systemctl restart systemd-journald

 

Утилиты systemctl и journalctl - это мощные инструменты для управления службами и анализа журналов в Linux.

Они позволяют эффективно контролировать процессы и анализировать события в системе.