是否可以将cron作业或bash脚本设置为从现在起运行X分钟



我知道我可以通过添加一行(如:*/5 * * * * /path/to/script.sh)将cron作业设置为使用crontab -e每5分钟运行一次。

例如,是否可以使用date +"%M"获得以分钟为单位的系统时间,然后将cron作业设置为以date +"%M"加5分钟的时间运行?

我知道我可以通过以下过程获得date +"%M"+5:

$ MIN=`date +"%M"`
$ export MIN
$ expr $MIN + 5

是否可以使用此设置cron作业或脚本以"当前时间(分钟)"加"X分钟"运行?

我可以想象这在一个应用程序中很有用,在这个应用程序中,用户创建了一个新文档,然后在创建文档X分钟后被提示保存或命名文档

您应该使用at命令。

使用at,您可以使用时间甚至midnightteatimetomorrow等关键字指定命令运行的时间。

你可以这样指定5分钟后的时间:

at now + 5 min

然后输入要安排的命令。或者,您可以在作业文件中输入计划作业,并使用-f选项将其作为at命令的参数。

作业文件示例:

$ cat myjobs.txt
/path/to/a/shell-script.sh
/path/to/any/command/or/script.sh

以下命令将在5分钟后执行这些作业:

$ at -f myjobs.txt now + 5 min

有关详细信息,请查看此链接。

查看at命令。也许这就是你想要的。

参见

  • http://www.computerhope.com/unix/uat.htm
  • http://www.thegeekstuff.com/2010/06/at-atq-atrm-batch-command-examples

可以:

*/5 * * * * /path/to/script.sh && crontab -r

最新更新