【发布时间】:2018-01-16 01:34:15
【问题描述】:
提前感谢您关注我的问题社区,
我的 python 测试脚本不会从我的 Centos 7 Crontab 中执行。如果在包含目录或从根/具有完整路径的任何其他目录调用此脚本,将手动执行。我的 Centos Python 位置是 /bin/python。这包含在我的 python 脚本的顶部。
Crontab 本身似乎工作正常:
* * * * * root date >> /home/test.log
将输出重定向到 test.log 没有问题。
请找到我的 Crontab 和测试脚本。
/etc/crontab 中的 Crontab
SHELL=/bin/bash
#PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
* * * * * root python /scripts/test1.py
至于/scripts/test1.py中的python脚本:
#!/bin/python
import os
os.system('date >> testlog.txt')
您可以提供任何意见/建议,我将不胜感激。 谢谢你,
【问题讨论】:
-
而不是
date >> /home/test.log尝试echo $PATH >> /home/test.log以确保路径符合预期。 -
您最好将完整的路径信息放在命令本身中,包括输出的位置(不是当前目录):
* * * * * root /bin/python /scripts/test1.py,并且在脚本中:os.system('date >> /tmp/testlog.txt') -
@paxdiablo 感谢 101 的观察。在我的 python 脚本中,我假设它会自动知道路径……真可惜。非常感谢您!如果您创建答案,我会选择您的作为解决方案!