Скрипт использования диска, если меньше 90%, не пишите мне по электронной почте

Для загрузки необходимо указать образы linux и initrd , иначе могут возникнуть проблемы.

В linux-части не следует включать диск/раздел перед указанием пути, так как вы уже указали его в корне. В примере я поставил /dev/sda1, но это может быть sdb или что-то еще

linux /casper/vmlinuz-version-pae root=/dev/sda1

Тогда вам нужно будет указать initrd; на этом этапе вам не нужно будет указывать корень, так как вы уже указали его.

initrd /casper/initrd.img-version-pae

И последнее, но не менее важное: просто введите boot, и система должна загрузиться в обычном режиме.

boot

0
22.10.2019, 21:58
2 ответа

Что-то вроде этого может сработать:

if [ $(LC_ALL=C df / | tail -1 | cut -d% -f1 | cut -d' ' -f12) -gt 90 ]; then echo mail -s "Disk Space Alert On $(hostname)" douglas.hayes@whatever.org; fi
  • dfвыдает разные выходные данные в зависимости от локали, поэтому я поставил перед ним префикс LC_ALL=C. Альтернативой Cявляются POSIX, en_US.UTF-8или другие настроенные локали для вашей системы.
  • Замените /в df /на путь, по которому смонтирован раздел, который вы хотите проверить.
  • -gt— это флаг, обозначающий «больше, чем».
0
28.01.2020, 02:29

Я смог взять на себя вашу команду и сколотить это воедино:

df -Ph | awk 'int($5) > 90 {print $0; rc=1}; END {exit rc}' || mail -s "Disk Space Alert On $(hostname)" douglas.hayes@whatever.org

Я избавился от sed, так как с awkон не нужен. В операторе awkя устанавливаю ненулевой код возврата, отличный от -, если он находит какие-либо перечисленные разделы более 90%, а затем отправляю электронное письмо только в том случае, если возврат был не нулевым -.

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

2
28.01.2020, 02:29

Теги

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