sendEmail, парсинг лога + отправка почты

Пример скрипта, который парсит лог (ищет слово «error») и отправляет сообщение на почту.

#!/bin/bash
log=/var/bash_scripts/svnsync.log

send=$( tail -n 18 ${log} | grep 'error' | awk '{print $3}' | grep -v 0 | wc -l)

FROM="mail_from@gmail.com"
TO=to_mail@gmail.com
CC=cc_mail@gmail.com
SUB="Тема"
MES1="Тело письма"
MES2="Ещё одно сообщение"
SMTP=mail.server.com:587
USER=user@server.com
PASS=Pa$$w0rrrD
/usr/bin/sendEmail -f $FROM -t $TO -u "$SUB" -m "$MES1","$MES2","$log" -s $SMTP \
-o tls=auto -xu $USER -xp $PASS >> /var/bash_scripts/mail.log

Данный скрипт работает с соблюдением все кавычек и переноса строк.


sendemail: Error: «0» is not a recognized option! Если такая ошибка, то передаваемую переменную надо взять в кавычки.

Добавить комментарий