是否可以将 cron 作业或 bash 脚本设置为 运行 X 分钟后?

Is it possible to set a cron job or bash script to run X minutes from now?

我知道我可以使用 crontab -e 将 cron 作业设置为每 5 分钟 运行,方法是添加一行,例如:*/5 * * * * /path/to/script.sh.

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

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

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

是否可以使用它在 "current time in minutes" 加上 "X minutes" 处将 cron 作业或脚本设置为 运行?

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

查看at命令。也许这就是您要找的。

您应该改用 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

查看此 link 了解更多信息。

是的,你可以:

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