在Crontab中在Bash中运行Python脚本不起作用

时间:2020-08-07 03:29:04

标签: python python-3.x linux bash

大家好,我想向我的bash脚本寻求帮助。 我正在bash脚本中运行2 python脚本,当我手动运行它时它正在工作,但是当我使用cron时,仅.sh文件中的命令无法在.py

上工作

请注意,我已经为python3安装了必要的utils和软件包。

这是脚本:

urlpatterns = [
    path('admin/', admin_site.urls),
    url(r'^ckeditor/', include('ckeditor_uploader.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

select34days.py和updateQuery34.py未运行。

我有一个log.tmp文件来检查这种情况,并且仅在我的.sh文件中显示命令

在我的cron里面

SHELL = / bin / bash
PATH = / sbin:/ bin:/ usr / bin:/ usr / bin
MAILTO = root

2 个答案:

答案 0 :(得分:0)

您的路径看起来不正确:

static void Main()
{
    var config = new JobHostConfiguration();

    if (config.IsDevelopment)
    {
        config.UseDevelopmentSettings();
    }

    var host = new JobHost(config);
    // The following code ensures that the WebJob will be running continuously
    host.RunAndBlock();
}

这包括两次PATH=/sbin:/bin:/usr/bin:/usr/bin ,这不是必需的,但暗示应该有其他内容。

取决于安装方式,python可能位于/usr/bin/usr/bin/中,甚至可能位于/usr/local/bin中。

在命令行中,您可以使用以下命令找到python的目录:

/opt

此目录需要添加到crontab中的路径中。

答案 1 :(得分:0)

每次使用bash脚本并将其添加到cron作业中时,只需使用脚本名称(例如/etc/test.sh)声明特定目录,因为cron不知道服务器。