0

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

4

0 回答 0