Для загрузки необходимо указать образы linux и initrd , иначе могут возникнуть проблемы.
В linux-части не следует включать диск/раздел перед указанием пути, так как вы уже указали его в корне. В примере я поставил /dev/sda1, но это может быть sdb или что-то еще
linux /casper/vmlinuz-version-pae root=/dev/sda1
Тогда вам нужно будет указать initrd; на этом этапе вам не нужно будет указывать корень, так как вы уже указали его.
initrd /casper/initrd.img-version-pae
И последнее, но не менее важное: просто введите boot, и система должна загрузиться в обычном режиме.
boot
Что-то вроде этого может сработать:
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
— это флаг, обозначающий «больше, чем». Я смог взять на себя вашу команду и сколотить это воедино:
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
может завершиться с ошибкой, и вы все равно получите электронное письмо, но, возможно, это желательное уведомление.