Cron工作不成功

时间:2018-01-01 22:18:48

标签: python linux cron

我对Cron调度和Linux一般都很新。我创建了一个Python代码(Test_Analysis.py),它可以分析一些数据并生成一个包含分析结果的excel表。然后我将这封excel表发送给自己。我的目标是为每个特定时间(例如早上5点)运行的此流程(分析和报告电子邮件)创建自动计划。

我为此尝试了Cron调度。电子邮件未使用Cron Scheduling发送。有趣的是,为了了解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服务器。

1 个答案:

答案 0 :(得分:0)

在你的实际Python脚本(比如test.py)中,必须至少有print()函数,输出一些标准输出, 说:

["ios", 2994960132, 96722616, 3091682748, 33788984, 4, 1, 3, 1.152542372881356, 4.354767717207995, "unknown"]

然后,调用

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()

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