Команда watch в Linux

Командная строка Linux предоставляет широкий спектр инструментов для выполнения различных задач. Однако среди этих инструментов мало кто знает о команде watch.

Эта небольшая, но мощная утилита позволяет отслеживать выполнение команд и программ в реальном времени, что делает ее незаменимой для системных администраторов, разработчиков и обычных пользователей Linux.

watch — что это

Команда watch — это утилита командной строки в среде Linux, предназначенная для периодического выполнения команд и отображения их вывода в реальном времени.

Она позволяет пользователю мониторить процессы, логи, и другую информацию, не приходясь постоянно перезапускать команду вручную. Это особенно полезно при мониторинге системы и отладке задач.

 

Основные возможности

Периодическое выполнение команды

С помощью watch можно указать, как часто нужно выполнять определенную команду. Это полезно, например, при мониторинге загрузки процессора или сетевой активности.

Отображение вывода в реальном времени

Результат выполнения команды выводится непосредственно в терминале, и он автоматически обновляется через определенные интервалы времени.

Настройка интервала обновления

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

 

Примеры

Предположим, что необходимо отслеживать использование дискового пространства в нашей системе каждые  100 секунд. Для этого, внутри утилиты будем использовать df.

watch -n 100 df -h

Здесь:

    • n — количество секунд.
    • df -h — команда с ключом -h, которая выводит информацию о дисковом пространстве.

Пример выполнения проверка жесткого диска

 

Расширенные возможности

watch имеет несколько полезных флагов и опций, которые делают ее еще более мощным инструментом.

Пользовательский формат вывода

С флагом -t вы можете указать пользовательский формат вывода. Это особенно полезно, если вам нужно выделить конкретные данные из вывода команды.

watch -n 5 -t 'ps aux | grep nginx'

Здесь ps aux | grep nginx — это команда, а -t указывает на использование пользовательского формата вывода.

Сохранение вывода в файл

Если нужно сохранить вывод команды, можно использовать флаг [-o], чтобы перенаправить его в файл. Например:

watch -n 10 -o output.txt 'top -n 1'

Это выполнит команду top -n 1 каждые 10 секунд и сохранит ее вывод в файл output.txt.

Остановка выполнения

Чтобы остановить выполнения утилиты — нажмите горячие клавиши Ctrl+C.

Это остановит выполнение watch, но не завершит выполнение отслеживаемой команды.

Параметры длины строки

С помощью флагов [-x] и [-y] можно настроить максимальную ширину и высоту выводимой строки. Это полезно, если вывод команды слишком большой и не умещается на экране.

Мониторинг журналов

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

  1.  /var/log/syslog;
  2. /var/log/auth.log.

 

watch -n 2 'tail /var/log/syslog'

Мониторинг сетевой активности

Для отслеживания сетевой активности можно выполнить ifconfig с заданным интервалом:

 

watch -n 10 'ifconfig eth0'

 

Мониторинг ресурсов сервера

Утилита может быть использована для мониторинга загрузки CPU, памяти и других ресурсов.

watch -n 2 'top -n 1'

 

Заключение

Утилита watch в операционной системе Linux предоставляет простой и удобный способ мониторинга выполнения различных команд и программ в реальном времени.

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