#email #find #conditional #crontab
#Адрес электронной почты #Найти #условные операторы #cron
Вопрос:
У меня есть эта неполная команда:
find /var/www/vhosts/domain/folder/ -name '*.flv' -size 5000k amp;amp; /bin/mail -s "The file is available!" "my@address.com" > /dev/null
Я не могу вставить условие, если размер файла больше 5000 кб, он должен отправлять почту, иначе нет.
Спасибо.
Ответ №1:
find
всегда возвращает код выхода 0, за исключением случаев, когда что-то было не так. Следовательно, вы должны использовать что-то другое для генерации соответствующего кода выхода (! = 0), который можно использовать с amp;amp;
. Я бы предложил grep
, например:
find /var/www/vhosts/domain/folder/ -name '*.flv' -size 5000k | grep flv amp;amp; /bin/mail -s "The file is available!" "my@address.com" > /dev/null
Если grep обнаруживает строку, содержащую строку flv
в выходных данных find
, он возвращает 0, в противном случае 1. mail
Команда будет выполнена только при коде выхода 0 из grep
.