Cron作业失败

2024-09-30 00:36:43 发布

您现在位置:Python中文网/ 问答频道 /正文

一般来说,我对Cron调度和Linux非常陌生。我已经创建了一个Python代码(Test\u Analysis.py),它可以分析一些数据并生成一个excel表来保存分析结果。然后我把这张excel表发邮件给自己。我的目标是为这个过程(分析和报告电子邮件)创建一个自动化的时间表,它在每天特定的时间运行,比如说早上5点

我试过用Cron来安排这个。未使用Cron计划发送电子邮件。有趣的是,为了了解Cron的工作原理,我创建了一个简单的测试脚本(test\u Cron.py),它还向我发送了一封电子邮件。对于这个脚本,我会收到自动电子邮件,因为我已经安排他们。我只是没有为我的原始脚本(Test\u 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服务器


Tags: pytest脚本loghome电子邮件analysis时间表
1条回答
网友
1楼 · 发布于 2024-09-30 00:36:43

在实际的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\u cron.log文件中到底发生了什么。如果设置为cron tab,它将定期记录,您将看到发生了什么

相关问题 更多 >

    热门问题