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

时间:2016-01-12 14:27:18

标签: linux bash cron expr

据我所知,我可以设置一个cron作业,每隔5分钟使用crontab -e添加一行,例如:*/5 * * * * /path/to/script.sh

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

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

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

是否可以使用它来设置一个cron作业或脚本以“当前时间分钟”加上“X分钟”运行?

我可以想象这在用户创建新文档的应用程序中很有用,然后在创建文档后X分钟提示保存或标题文档。

3 个答案:

答案 0 :(得分:6)

您应该使用at命令。

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

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

at now + 5 min

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

作业文件示例:

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

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

$ at -f myjobs.txt now + 5 min

查看此link以获取更多信息。

答案 1 :(得分:0)

答案 2 :(得分:-1)

是的,你可以:

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