Скрипт оболочки для отображения файлов системы, которая использует более 5% дискового хранения

Думаю, вы на правильном пути! создаст анонимный именованный канал и является типом подстановки процесса Bash .

Обычно в качестве «имени файла» передается / dev / fd / XX , который является интерфейсом дескриптора файла для запущенного процесса.

Из примеров в связанной документации:

bash$ wc <(cat /usr/share/dict/linux.words)
 483523  483523 4992010 /dev/fd/63

Для чтения из процесса используйте , а для записи в процесс используйте > (команда) .

Вы также можете узнать больше о подстановке процессов в Википедии .

-3
14.01.2019, 12:53
1 ответ
  • Похоже, вы хотите измерить только локальный файл систем, в этом случае используйте -lсdf
  • Для пропуска заголовка df достаточно простого sed 1d
  • Использовать printf в awk для форматирования вывода
  • awk может самостоятельно обрабатывать преобразование строки в число. Скажем, если пятый столбец представляет собой число со знаком процента, $5+0преобразует его только в число

С ними ваш чистый скрипт будет

df -lh | sed 1d | awk '{ if( $5+0  >5) printf "ALERT FOR %s at %d%%\n",$1, $5}'
0
28.01.2020, 05:19

Теги

Похожие вопросы