Условие crontab, если размер файла превышает 5000 КБ, чем отправить письмо - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть эта неполная команда:

find /var/www/vhosts/domain/folder/ -name '*.flv' -size +5000k && /bin/mail -s "The file is available!" "my@address.com" > /dev/null

Я не могу вставить условный файл, если файл больше 5000 КБ, он должен отправить письмо, иначе нет.

Спасибовы.

1 Ответ

1 голос
/ 14 апреля 2011

find всегда возвращает код выхода 0, кроме случаев, когда что-то не так.Поэтому вы должны использовать что-то еще, чтобы сгенерировать соответствующий код выхода (! = 0), который можно использовать с &&.Я бы предложил grep, например:

find /var/www/vhosts/domain/folder/ -name '*.flv' -size +5000k | grep flv && /bin/mail -s "The file is available!" "my@address.com" > /dev/null

Если grep обнаруживает строку, содержащую строку flv в выводе find, он возвращает 0, в противном случае 1. Команда mail будет тольковыполняется при коде выхода 0 из grep.

...