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