Эта статья является Частью 8 серии LFCA, и здесь вы познакомитесь с общими командами администрирования системы для мониторинга основных системных метрик и планирования административных задач в системе Linux.
Отслеживание производительности вашей системы – одна из ключевых ролей, которую вам предстоит выполнить в качестве системного администратора. Конечно, существует достаточно инструментов мониторинга с открытым исходным кодом, таких как Grafana и Nagios, для мониторинга системных метрик.
К счастью, Linux предоставляет некоторые утилиты командной строки, которые позволяют вам взглянуть на некоторые важные статистические данные и информацию системы, такие как использование процессора и памяти и запущенные процессы.
Давайте кратко рассмотрим некоторые инструменты командной строки, которые могут помочь вам отслеживать основные метрики системы:
1. Команда uptime
Команда uptime показывает время работы системы с момента ее включения. Без каких-либо опций команды она предоставляет текущее время, время работы системы, залогиненных пользователей и среднюю нагрузку.
$ uptime
С опцией -s
вы получаете дату системы и время включения системы.
$ uptime -s
Используйте опцию -p
, чтобы получить только время работы
$ uptime -p

2. Команда free
Чтобы получить представление о общей и доступной памяти и пространстве подкачки на вашей системе, используйте команду free следующим образом. Опция -h
выводит результат в удобочитаемом формате.
$ free -h

3. Команда top
Команда top выполняет две функции: она предоставляет сводку метрик системы в реальном времени и отображает текущие запущенные процессы, управляемые ядром Linux.
Помимо отображения запущенных процессов, команда top объединяет вывод, предоставленный командами uptime и free, который находится в самом верху.
$ top

Улучшением команды top является утилита htop, которая отображает статистику в интуитивно понятном и удобочитаемом формате.
На Linux вы можете установить htop с помощью команды:
$ sudo apt install htop [On Debian-based] $ sudo dnf install htop [On RHEL-based]
Для запуска htop просто выполните команду:
$ htop

4. Команда df
Мы ранее обсуждали утилиту df (disk-free) в основных командах Linux. Команда df предоставляет информацию о использовании жесткого диска для каждой файловой системы. Используйте флаг -Th
, чтобы выводить информацию в удобочитаемом формате.
$ df -Th

5. Просмотр информации о процессоре
Чтобы просмотреть информацию о процессоре, такую как идентификатор производителя, количество ядер процессора, название модели и многое другое, выполните команду:
$ cat /proc/cpuinfo

Автоматизация задач администрирования системы
Планирование задач для выполнения в заданное время – один из основных навыков, который должен иметь любой системный администратор. Вам может понадобиться планировать административные задачи, которые должны выполняться регулярно, такие как резервное копирование и периодическая перезагрузка.
Cron – это временной планировщик, который помогает автоматизировать задачи. Установка cron включает в себя демон cron и набор таблиц, из которых он считывает свою конфигурацию, называемую crontab. Crontab описывает задачи, которые должны быть выполнены.
Чтобы создать задание cron, мы должны сначала понять его архитектуру. Задание cron состоит из пяти полей, за которыми следует команда или скрипт для выполнения. Вот диаграмматическое представление различных полей задания cron.

Давайте рассмотрим некоторые примеры cron и их интерпретацию:
0 12 * * * <command> Executes a task daily at noon 30 06 * * * <command> Executes a task daily at 6:30 am 30 * * * * <command> Executes a task every 30 minutes 0 0 * * * <command> Executes a task at midnight 30 06 * * 5 <command> Executes a task at 6:30 am every Fri * * * * * <command> Executes a task every minute 0 0 1 * * <command> Executes a task at midnight on the first day of every month 0 3 * * Mon-fri <command> Executes a task at 3:00am on every day of the week from Monday to Friday.
Давайте теперь создадим задание cron.
Сначала мы создадим скрипт резервного копирования, который будет резервировать нашу папку Загрузки в /home/tecmint/Downloads в директорию /home/documents.
Используя редактор vim, мы создадим и откроем файл скрипта, как показано.
$ vim backup.sh
Начнем с шебанга в самом верху, чтобы отметить начало shell-скрипта
#!/bin/bash
Команда для резервного копирования папок директории показана ниже.
tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads

Первый путь представляет полный путь к файлу резервной копии, который является downloads.tar.gz, в то время как второй путь указывает на путь к директории, которая будет резервироваться.
Сохраните файл, нажав ESC, затем введите :wq
и нажмите ENTER.
Затем назначьте права на выполнение резервному скрипту. Это необходимо, чтобы утилита cron могла выполнить скрипт.
$ chmod +x backup.sh
Чтобы создать задание cron для выполнения скрипта, выполните следующую команду:
$ crontab -e
Мы определим задание cron для выполнения скрипта резервного копирования каждый день в 14:30 часов следующим образом
30 14 * * * /home/tecmint/backup.sh

Сохраните файл, нажав ESC, затем введите :wq
и нажмите ENTER. После выхода из файла вы получите подсказку crontab: installing a new crontab, означающую, что задание cron было инициализировано.

Чтобы перечислить текущие задания cron, выполните команду:
$ crontab -l

Таким образом, для нашей задачи резервного копирования, задание cron успешно создало сжатый файл директории ‘Downloads’ в директории ‘Documents’ ровно в 14:30 часов.
$ ls Documents/

Если вы больше не хотите запускать задание cron, вы можете удалить его с помощью команды:
$ crontab -r
Заключение
Существует несколько других задач, которые системные администраторы выполняют ежедневно, такие как инвентаризация и многое другое.
Source:
https://www.tecmint.com/monitor-basic-system-metrics-in-linux/