Я пытаюсь написать скрипт для проверки использования диска в домашних папках и предупреждать пользователей, когда они превышают xxGB, по электронной почте
Я выгружаю вывод du -s * во временный файл, читаю его построчно, и когда я пытаюсь прочитать размер и имя папки из вывода du, он работает неправильно, просто echo $ file. Я получаю каждую строку в виде двух строк, я пытался развернуть, чтобы заменить табуляцию пробелами, но также не работал, и я не уверен, как сделать comaprison на основе размера.
#!/bin/bash
#echo "Disk usage report for /homes on `hostname`"
EMAIL="helpdesk@xy.com"
##########################
# check staff
#########################
cd /homes/staff/
file1="/root/scripts/temp_check"
file2="/root/scripts/temp_check2"
du -s * | sort -rn | head -15 |awk '{print}' > $file1
expand $file1 > $file2
for line in $(cat $file2)
do
echo $line
# echo $line | awk '{ print $2 }'
mail -s "Disk usage report for your homefolder" $EMAIL
done