crontab条件,如果文件大小超过5000K发送电子邮件

时间:2011-04-14 12:10:02

标签: email find conditional crontab

我有这个不完整的命令:

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

我无法插入条件,如果文件超过5000k则必须发送邮件,否则没有。

谢谢。

1 个答案:

答案 0 :(得分:1)

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命令仅在{{1}的退出代码0上执行1}}。