[英]Python script works as standalone but not with Crontab
我有一个简单的代码读取 csv 文件并将每一行加载到 JSON 中,该代码将被发送(节点红色)。
import os
import csv
import json
from time import sleep
TITLE = '/path/to/csv/file'
if(os.path.exists(TITLE)):
with open(TITLE, 'r') as fp:
fullLog = csv.reader(fp, delimiter = ',')
for rowLog in fullLog:
dictToSend = {"Val1" : rowLog[0],
"Val2" : rowLog[1],
"Val3" : rowLog[2],
}
with open("data.json", "w") as outfile:
json.dump(dictToSend, outfile)
sleep(SLEEP_TIME_S)
# Remove csv file once data sent.
os.remove(TITLE)
从提示启动时,此代码按预期工作。 JSON 的权限设置为 0o777。
现在,我希望每小时在第 10 分钟执行一次。 然后crontab -e
:
10 * * * * /usr/bin/python3 /path/to/script/script.py
脚本已启动(登录 journalctl),但没有其他任何反应。 该脚本是可执行的。 我试图创建一个调试文件,显示到达了代码的哪个点,但调试文件甚至不是通过 Crontab 创建的。 (再一次,如果从提示启动没有问题)
Crontab 有什么限制吗? 或者我只是犯了一个太大的错误以至于我看不到它?
当您遇到“这在这里有效但在那里无效”之类的问题时,请务必提供文件的完整绝对路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.