【问题标题】:Crontab seems to start scripts but nothing happenscrontab 似乎启动脚本,但没有任何反应
【发布时间】:2021-10-16 18:14:40
【问题描述】:

我在我的 docker 容器中定义了很多 cronjobs,我在去度假时让它们运行。当我回来时,一切都停止了。看来容器在我休假期间的某个时间点重新启动,而我的 docker 配置不够好,无法自行重新启动 crontab 服务。

但是现在我重新启动了它,我的 cronjobs 不起作用。我检查了服务是否正在运行,我可以确保 crontab 正在完成它的部分工作,因为它的条目已成功记录在 syslog 中。但是我的脚本没有被执行。我从写入日志文件开始(我的任务是使用 Django 命令和 python 日志库),但日志文件没有得到更新。

从命令行手动运行命令仍然有效,我的命令指定了所有内容的绝对路径(甚至是要使用的 python 二进制文件......)。我不知道在哪里看才能了解目前出了什么问题。

注意:自从假期回来后,我确实更新了一些代码,但不会影响脚本中的起始日志消息。

作为测试,我创建了一个脚本 bash,其中包含一行:echo "foo" > /path/to/some_non_exiting_file.txt。我使用crontab -e 编辑了cron 并添加了* * * * * myscript.sh 行。结果下一分钟,我的文件被创建了,但它是空的。

【问题讨论】:

    标签: django cron django-management-command


    【解决方案1】:

    在 bash bang 之后将此行添加到脚本的顶部:

    #!/bin/bash
    source ~/.bash_profile
    

    这一行将包含您的 bash 登录脚本以及相关的环境设置。

    【讨论】:

    • 我将此标记为答案,因为它有助于我的测试工作。但是,它没有回答关于 Python Django 脚本的主要问题。它没有解释为什么这些脚本停止工作。因此我没有标记这个答案。很抱歉给您带来不便
    • 请发布另一个关于 Python Django 脚本的问题。
    猜你喜欢
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    相关资源
    最近更新 更多