我需要自动化脚本来获取邮件。例如,当我们运行 shell 脚本时,所有文件是否存在,然后如果邮件中存在,则需要获取消息文件是否存在,否则 xxxxxxxxx.csv 文件单独不存在,请检查。我需要像这样编写脚本,请提出建议。
问候, 辛杜
答案1
你的问题很不清楚,但从我可以看出,你正在尝试定期运行某些东西,并希望在出现问题时收到电子邮件通知,对吗?
如果是这样,只需让您的 shell 脚本打印错误消息,然后从 cron 运行它即可;如果脚本产生任何输出,cron 会自动向您发送一封电子邮件。有关如何执行此操作的更多信息,请运行man crontab
和man 5 crontab
,并阅读该文档。
答案2
if_files(){
for f do command <"$f" &&
set -- "$@" "$f"
shift
done; printf present:\\t%s\\n "$@"
} 2>&1
mail
要从 shell发送,您可以使用mail
,但您需要正确配置MTA。
许多程序会向您的 Unix 用户帐户发送一封电子邮件,但这很可能最终会出现在死信如果您没有正确配置。其中有cron
,正如已经提到的,但也有at
,甚至ex
或vi
可以这样做,两者都可以运行 shell 脚本。
您可以将上述功能与标准mail
客户端一起使用,例如:
if_files ./* |
mail -s file_check [email protected]