Автоматично изпълняване на дадена команда в bash на даден интервал
Много често се налага да се следи изхода на дадена команда през даден период от време. Типични примери са: преглеждане на съсдържанието на дадена директория, следене на размера на даден файл, следене на използването на паметта, дисковете или процесора. В такива случаи се налага да се пише отново и отново дадена команда. Ето два начина за автоматизиране на този процес в bash.
Добрия стар цикъл
Първият вариант е просто да се създаде един безкраен цикъл, който изпълнява командата, изчаква известно време посредством sleep, и изпълнява наново. Ето пример как да се следи съдържанието на директорията /some/dir през 3 секунди:
while true;
do
clear
ls -al /some/dir
sleep 3
done
Програмата watch
Съществува програма за Linux, който прави почти същото както по-горе - watch. Просто добавяте вашата команда и готово. Освен това получаватте бонус от хедър, съдържащ командата, интервала и времето на последното изпълнение. Този пример проверява свободното място на диска всеки 10 секунди:
watch -n 10 df -h
Няма коментари
Обратно към списъка със статиите
Тази страница последно е променяна на 2025-04-28 20:58:38