我试图设置cron在脚本中运行以下命令:
find /path/to/folder -ctime -1 -type f
如果过去一天特定文件夹中有任何已创建的文件,则发送邮件。到目前为止,我已经想出了这个:
#!/bin/bash
check=$(find /path/to/folder -ctime -1 -type f)
alert=mail@mail.com
if [ "$check" -eq 0 ]
then
mail -s "files created" "$alert"
fi
问题是我无法执行脚本,即使shell cheker表示没有错误。它给了我语法错误:意外的文件结尾。
我已经在网上搜索了足够长的时间,意识到其他解决方案,例如 MAILTO 和 MAILFROM 或像this这样的脚本都无法正常工作。我也研究了this线程,但似乎没有任何工作,如果我可以补充说这是针对CentOS 6的,以防它有任何区别。
任何帮助都将非常感激。感谢。
答案 0 :(得分:0)
对于仍然有兴趣回答的人,这里是。
#!/bin/bash
check=$(find /path/to/folder -ctime -1 -type f)
alert=mail@mail.com
if [[ "$check" ]]
then
echo "$check" | mail -s "files created" "$alert"
fi
还要确保将CRLF换行符转换为Unix样式,如果它不起作用并且您不断出现无法解释的语法错误。
dos2unix /path/to/script
或点击this链接。