因此,我编写了一个非常小的 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 运行时(每分钟一次),我根本没有收到任何电子邮件。