每小时安排 cron 作业不起作用

每小时安排 cron 作业不起作用

我正在为某些任务运行单实例 cron 作业。我的脚本如下所示:

# every hour interval
0 * * * * php /project/yii daily/order

# every 30 minutes interval
*/30 * * * * php /project/yii daily/sample

我用来https://crontab.guru/获取值。调度有效,但对于order,我将其设置为每小时运行一次,但改为每五个小时运行一次。我检查了路径和脚本,它是正确的。

我想知道为什么不按设置每小时运行一次?

答案1

运行的作业cron不会在桌面上相同的运行时环境中运行。您的任何PATH更改或其他环境变量设置都不会~/.bashrc自动传播到您的cron作业。例如,没有$DISPLAY,因此 GUI 程序需要特殊处理(读取man xhost)。

可以在Read 文件cron中为所有作业设置环境变量。crontabman 5 crontab

echo "=== id ===";id;echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias查看每个环境中的结果 。

由于默认情况下,command该行的部分由 解释,它的语法比 更简单,因此我建议调用一个脚本(可执行文件,已安装,以 开头)来设置环境,然后调用所需的程序。crontab/bin/sh/bin/bashcommandbash#!/bin/bash

相关内容