Закончилось место "/ dev / mapper / LVMG1-tmp (87%)" на имени хоста по состоянию на 3 февраля, понедельник, 15:44:03 IST 2020
выше - это сообщение, которое я получаю по электронной почте, но мне нужно использовать правильное приветствие и объявление. Как я могу заархивировать это детское предложение ваших идей?
Код:
#!/bin/sh
df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $1 }' | while read output;
do
echo $output
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge 80 ]; then
echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" | mail -s "FILE SYSTEM ALERT" name@doamin.com
fi
done
Вот несколько функций, которые делают то, что вы ищете. Есть пара переменных, связанных с почтой, которые вам нужно будет определить в другом месте вашего скрипта, но это должно быть достаточно просто.
Я просто помещаю необработанный вывод в переменную и добавляю его к переменной тела сообщения. Вы можете манипулировать этим разными способами, прежде чем отправлять его в функцию mailBody.
Дайте знать, если у вас появятся вопросы.
function func_mailVariables() {
recipientAddress="somebody@somewhere.smth"
senderAddress="someoneelse@somewhereelse.smth"
mailSubject="Something Important blahblahblah"
}
function func_mailSend() {
importantNumbers="$( df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $1 }' )"
sendmail -t <<< "${mailBody}"
}
function func_mailBody() {
read -r -d '' mailBody <<-EOF
To: ${recipientAddress}
From: ${senderAddress}
Subject: ${mailSubject}
Hello,
Here are those numbers that are so important:
${importantNumbers}
Sincerely,
${senderFullName}
EOF
}
function main() {
func_mailVariables
func_mailBody
func_mailSend
}