django - crontab 似乎启动脚本,但没有任何反应
问题描述
我在我的 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
。事实证明,下一分钟,我的文件被创建了,但它是空的。
解决方案
在 bash bang 之后将此行添加到脚本的顶部:
#!/bin/bash
source ~/.bash_profile
此行将包含您的 bash 登录脚本和相关的环境设置。
推荐阅读
- python - 从python中的巨大列表中获取前N个元素的最佳和最快方法
- javascript - 为什么尝试在反应中使用 ref 时打字稿会抱怨?
- reactjs - 运行示例“Twilio Video React App”时出错。出现错误 - 'null' 类型的参数不能分配给 'Priority' 类型的参数。TS2345
- android - 广告在新的 Interstial API Admob 中显示后如何加载新的 interstial 广告
- c - 以无穷大为极限之一的 fortran 数值积分
- c++ - Visual Studio Code for Mac“架构的未定义符号”
- r - 将多列从因子转换为数字,但在 R 中获得 NA
- c++ - 如何在 C++ 中获得一个月的第三个星期五?
- routes - Yii2 条件 URL 路由
- bots - Telegram 中有多个机器人管理员