Linux

/
/
Работа с 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>Отображение сообщений журнала с указанным приоритетом (от 0 до 7)

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

journalctl -u sshd

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

КлавишиОписание
Клавиши 🠝 (Вверх) и 🠟 (Вниз)Прокрутка журнала вверх и вниз соответственно
Клавиши PgUp и PgDownПостраничная прокрутка журнала вверх и вниз соответственно
Клавиша HomeПеремещение в начало журнала
Клавиша EndПеремещение в конец журнала
Клавиша 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.

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

SystemMaxUse=1G

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

systemctl restart systemd-journald

 

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

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