2

crontab -e我知道我可以通过添加一行来设置一个 cron 作业每 5 分钟运行一次: */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 分钟后被提示保存或命名文档。

4

3 回答 3

7

您应该改用该at命令。

使用at,您可以使用 time 甚至关键字(如midnight,teatime等)指定命令应该运行的时间tomorrow

您可以像这样指定 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

检查此链接以获取更多信息。

于 2016-01-12T14:46:06.927 回答
0

at命令。也许这就是你要找的。

于 2016-01-12T14:36:23.057 回答
-1

是的你可以:

*/5 * * * * /path/to/script.sh && crontab -r
于 2021-04-13T18:15:24.313 回答