【发布时间】:2018-11-27 06:54:50
【问题描述】:
extract.py:
def extract_lz4(lz4_path):
status = subprocess.call(["lz4", "-df", lz4_path], stderr=subprocess.STDOUT)
log.info("In Extract fun STATUS : {}".format(status))
if not status:
log.info("Extract Successful of {}".format(lz4_path))
return status
else:
log.info("Extract Successful of {}".format(lz4_path))
return status
Main.py:
lz4_file = '<path-to-lz4-file>/ly486imc83e0v9a7-23-telnet-banner-full_ipv4-20180515T040003-zmap-results.csv.lz4'
extract_status = extract_lz4_task(lz4_file)
log.info("extract_status : {}".format(extract_status))
当我通过python <path-to-file>/main.py 调用主文件时,它将成功提取。
但是当我把它放在 crontab 中时,它不会提取。
crontab -e:
* * * * * python <path-to-file>/main.py
我有什么遗漏吗?任何帮助将不胜感激
【问题讨论】:
-
lz4可能不在路径中? crontab 没有设置与您的帐户相同的路径。还要检查lz4_path是否正确。另外,检查异常并将其记录在一个文件中,这样“它不会提取”将变为“我有错误的回溯” -
extract_lz4 不返回值,因此 extract_status 将为 None,现在看到它确实... 编辑意味着 while ?
-
运行时的 cron 输出是什么?如果是路径问题,您可以在 cron 中尝试:( cd
; python ) -
子进程返回0,不是说那个进程会成功吗?我提供完整的
lz4_path -
将此附加到您的 crontab 条目:> /tmp/logfile 2>&1
标签: python python-2.7 cron subprocess lz4