所以,我写了一个非常小的python脚本,只要它检测到一个超过0字节的文件就运行一个系统命令。试图安排一个cronjob来运行它,但无论出于什么原因它都不起作用 - 我做错了什么?
Python脚本(/usr/local/bin/urlEmail.py):
#!/usr/bin/env python
import os
changes = os.stat("/usr/local/bin/changes.txt")
if changes.st_size > 0:
os.system('ssmtp email@email.com < changes.txt')
(现在,changes.txt是静态的,只有我的测试中有一些文本)
在root用户上添加到crontable -e:
*/1 * * * * urlEmail.py
如果我查看/ var / log / syslog,我会看到:
Jun 13 07:09:01 Server CRON[20901]: (root) CMD (urlEmail.py)
Jun 13 07:09:02 Server sSMTP[20902]: Sent mail for root@email.com (221 domain.domain.com closing connection) uid=0 username=root outbytes=577
另外,只是运行'urlEmail.py',我收到了我期望的电子邮件,但是,日志消息是:
Jun 13 07:17:07 Server sSMTP[20952]: Sent mail for root@email.com (221 domain.domain.com closing connection) uid=0 username=root outbytes=352
两条日志消息之间唯一发生变化的事实是,在我自己运行'urlEmail.py'的情况下,outbytes值不同。
当cron运行时(每分钟一次)我根本没有收到任何电子邮件。