如何在crontab中使用变量作为执行时间

时间:2017-03-26 15:22:19

标签: ubuntu cron

我想将var用作crontab中的一个值。我使用的是Ubuntu

#example 
rand=$(( ( RANDOM % 10 )  + 1 ))
rand * * * * /someScript.sh

1 个答案:

答案 0 :(得分:0)

我在crontab的文件中没有听说过这种可能性。而且我不确定你想要实现的目标。有可能详细说明吗?

来自cron的手册,

  然后,cron每分钟醒来,检查所有存储的crontabs,检查每个命令,看它是否应该在当前分钟运行。

然而,你可以做的是拥有一个每分钟执行一次的脚本,在该脚本中你可以生成一个随机数和一个阈值来决定是否执行你的someScript.sh

例如,cron看起来像

*/1 * * * * /gateScript.sh

和gateScript.sh希望:

#!/bin/bash
rand=${RANDOM}
threshold=16384 #middle value of possible $RANDOM outputs
if [ "${rand}" -gt "${threshold}" ]; then
    exec someScript.sh
fi

请参阅here了解更详细的“随机”数字生成。