【问题标题】:Cron job unsuccessfulCron 作业不成功
【发布时间】:2018-01-01 22:18:47
【问题描述】:

总的来说,我对 Cron 调度和 Linux 非常陌生。我创建了一个 Python 代码 (Test_Analysis.py) 来分析一些数据并生成一个包含分析结果的 Excel 表。然后,我将这个 Excel 表通过电子邮件发送给自己。我的目标是为这个过程(分析和报告电子邮件)创建一个自动计划,在每天的特定时间运行,比如早上 5 点。

我为此尝试了 Cron 调度。未使用 Cron 调度发送电子邮件。有趣的是,为了了解 Cron 的工作原理,我创建了一个简单的测试脚本 (Test_Cron.py),它还会向我发送一封电子邮件。对于这个脚本,我确实收到了我安排好的自动电子邮件。我只是没有为我的原始脚本 (Test_Analysis.py) 获取它们。

这是我的两个脚本的 cron 计划(两个脚本都在同一个文件夹中)

*/1 * * * * python /home/abc/anuj/TPA/Test_Cron.py &> /tmp/Test_Cron.log

*/15 * * * * python /home/abc/anuj/TPA/Test_Analysis.py &> /tmp/Test_Analysis.log

知道我可能做错了什么吗?

PS : 我正在使用 SSH 登录远程 linux 服务器。

【问题讨论】:

标签: python linux cron


【解决方案1】:

在您的实际 Python 脚本(例如 test.py)中,必须至少有 print() 函数,将某些内容输出到标准输出中, 说:

def send_email():
    """whatever email logic you implement"""
    pass

def process_cron():
    try:
        send_email()
        print("Successfully sent email")
    except Exception as e:
        print("Error sending email {}".format(e))


process_cron()

然后,调用

python test.py >> test_cron.log

会将脚本的结果(或错误)写入日志,因此您将在 test_cron.log 文件中看到究竟发生了什么。如果设置为 cron 选项卡,它会定期记录,你会看到发生了什么。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 2012-02-18
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    相关资源
    最近更新 更多