我对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服务器。
答案 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标签,它会定期记录,你会看到发生了什么。