Python+;Cron:没有这样的文件或目录
我有一个更新.txt文件的python脚本 当我在终端中手动运行该文件时,它也会更新该文件。然而,这似乎只是在使用cron运行时出现的问题 日志文件中的响应为: 没有这样的文件或目录:“uploads/test.txt” 用于此操作的cron命令是:Python+;Cron:没有这样的文件或目录,python,cron,Python,Cron,我有一个更新.txt文件的python脚本 当我在终端中手动运行该文件时,它也会更新该文件。然而,这似乎只是在使用cron运行时出现的问题 日志文件中的响应为: 没有这样的文件或目录:“uploads/test.txt” 用于此操作的cron命令是: * * * * * /usr/bin/python3 /root/script.py >> /root/log.log 2>&1 我真的被难住了。有解决方案吗?上传/test.txt是一个相对路径。Cron未从上载的父
* * * * * /usr/bin/python3 /root/script.py >> /root/log.log 2>&1
我真的被难住了。有解决方案吗?上传/test.txt是一个相对路径。Cron未从
上载的父目录运行。使用绝对路径上载(例如,/data/foo/uploads/test.txt
,或cwd
到uploads
的父目录,您是否尝试过使用script.py
中test.txt
文件的绝对路径?我尝试过使用~/root/uploads.test.txt
是绝对路径吗?看起来不对。请尝试/root/uploads/test.txt
!没有指向curretn用户主文件夹的路径~
。@CharlesDuffy显然我的意思是/
而不是
,uploads/test.txt是运行的脚本中的引用。默认情况下,cron作业在/
中运行,因此uploads/test.txt
将查找/uploads/test.txt
,其中您可能没有。您也可以建议cd/data/foo&&exec python…
作为替代方案(exec
只是一种性能优化——这意味着在python
启动后shell不需要留在内存中——但是&&
是至关重要的:这意味着如果无法cd
到脚本预期启动的目录,我们就不会尝试运行python解释器)。