Работа с 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.
Они позволяют эффективно контролировать процессы и анализировать события в системе.