Cron没有运行django命令

Cron没有运行django命令,第1张

Cron没有运行django命令

由于 某些版本 的文件

python /my_django_project_path/manage.pydatabase_bu
适合您,这意味着问题出在您的上
cronenvironment
,或者是您设置cron的方式,而不是脚本本身(例如,要上传的文件大小或网络连接均未引起问题) )。

首先,您正在以以下方式运行脚本

47 16 * * * root python /my_django_project_path/manage.py database_bu

root
当您为当前用户使用shell命令时,您将为它提供一个用户名,该用户名不同于当前用户。不能从
root
用户使用运行同一命令的事实
sudosu
表明,您的root用户帐户无论如何都没有正确配置。FWIW,几乎总是应避免以root用户身份进行调度,因为这可能会导致奇怪的文件权限问题。

因此,请尝试按以下方式从当前用户安排您的cron作业。

47 16 * * * cd /my_django_project_path/ && python manage.py database_bu

这可能仍不能完全运行cron作业。在这种情况下,问题可能出在2个地方-
您的Shell环境中的cron环境中缺少一些变量,或者

.netrc
没有正确读取凭据的文件,或者两者都存在。

根据我的经验,我发现

PATH
变量会引起最多的麻烦,因此请
echo$PATH
在您的shell上运行,如果您获得的路径值为
/some/path:/some/other/path:/more/path/values
,则执行cron作业,例如

47 16 * * * export PATH="/some/path:/some/other/path:/more/path/values" && cd /my_django_project_path/ && python manage.py database_bu

如果仍然无法解决,请接下来检查所有环境变量。

printenv > ~/environment.txt
在普通外壳程序中使用,以获取在外壳程序中设置的所有环境变量。然后,使用以下cron条目
* ** * * printenv >~/cron_environment.txt
从cron环境中识别缺少的变量。另外,您可以在脚本中使用代码段来从脚本中获取环境的值

import osos.system("printenv")

比较两者,找出其他所有不同的相关变量(例如

HOME
),然后尝试在脚本/ cron条目中使用相同的变量以检查它们是否起作用。

如果仍然无法解决问题,那么我认为剩下的问题应该是您的位桶凭据

.netrc
,其中保存了用户名和密码。内容
.netrc
在cron环境中可能不可用。

相反,请为您的帐户创建并设置一个ssh密钥对,然后进行备份

ssh
而不是
https
(最好在此步骤中生成不带口令的ssh密钥,以避免ssh-
key的陷阱)。

一旦你已经安装SSH密钥,你将有相应的编辑现有的源URL从

.git/config
你的项目的根文件(或将要增加一个新的远程
origin_ssh
使用
gitremote add origin_ssh url
SSH协议)。

请注意,

https
回购的网址就像
https://user@bitbucket.org/user/repo.git
ssh一样
git@bitbucket.org:user/repo.git

PS:

bitbucket
git
不是理想的备份解决方案,有成千上万的线程徘徊以寻求更好的备份策略。另外,在调试时,请每分钟(
* * * **
)或以类似的低频率运行您的任务,以加快调试速度。

编辑

OP在评论中说,设置

PWD
变量对他有效。

PWD = / my_django_project_path / helpers / management /到/ etc /
environment的命令

这就是我之前所建议的,shell中可用的环境变量之一不在cron环境中。

通常,Crown总是以减少的一组环境变量和权限运行,并且设置正确的变量将使cron起作用。

另外,由于您使用的是

.netrc
文件权限,因此该文件特定于您的帐户,因此该文件将不适用于任何其他帐户(包括的
sudo
帐户
root
),除非您在其他帐户中也配置了相同的设置。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5508243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存