linux - CRON 作业未在指定时间运行

标签 linux bash cron schedule

我试图在一天中的特定时间运行一些特定的作业,以在增量期间捕获数据库上的特定数据,目前我有大量运行得很好的作业,但这些作业似乎没有在指定的时间运行,而且我经常必须自己运行它们。

目前这些是预定时间。

我假设每天上午 9 点。正如我到处检查过的那样,它的语法似乎是正确的。

0 9 * * * bash /home/user/Desktop/CRON/OAK3/dw_3704255.sh

我认为每天下午 1:30。正如我到处检查过的那样,它的语法似乎是正确的。

30 13 * * * bash /home/user/Desktop/CRON/OAK3/dw_3704278.sh

我认为每天下午 6 点。正如我到处检查过的那样,它的语法似乎是正确的。

0 18 * * * bash /home/user/Desktop/CRON/OAK3/dw_3704286.sh

我认为每天晚上 10 点。正如我到处检查过的那样,它的语法似乎是正确的。

0 22 * * * bash /home/user/Desktop/CRON/OAK3/dw_3704294.sh

现在,我尝试将前面的零更改为 00,但出现了相同的结果。我最近改成了单零,但我相信这就是我最初的样子。

我可能只需要从外部角度进行健全性检查,因为它看起来是正确的,但任何见解都会受到赞赏。谢谢!

最佳答案

我假设作业将开始运行,但由于某种原因不会完成,使得它们看起来根本没有开始。这通常是由 .profile 中设置的环境变量引起的 - cron 作业不会执行 .profile 并且无法访问这些变量。

我会发表这样的声明

exec > /tmp/dw_3704255.log 2>&1
set -x

dw_3704255.sh脚本的开头;然后您可以检查文件是否在应有的时间出现,并检查其内容是否有踪迹。

此外,我会将 bash 替换为 /bin/bash 以防止 cron 进程中出现奇怪的 PATH 设置,但我不认为这是导致您当前问题的原因。

关于linux - CRON 作业未在指定时间运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22258595/

相关文章:

linux - Ubuntu 找不到 pthread 库

Bash pid 根本不返回任何内容

cron - 如何外包周期性任务(即在 'cloud' 中)?

Bash EOF block 中的 EOF block 可能吗?

mysql日期时间范围选择

linux - 在 Docker 容器中运行 Cron 作业

linux - Chromedriver 无法在 AWS EC2 上打开 chrome 浏览器

c++ - 共享内存段键突然改变

java - 如何从 linux 中的文件夹导入 java 文件?

bash - 列 : randomly keep one 中的重复项