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

84a*_*dam 2 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
Run Code Online (Sandbox Code Playgroud)

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

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

Meh*_*des 6

您应该使用该at命令.

有了at,你可以指定在命令应该用时间来运行,甚至在时间的关键字,例如midnight,teatime,tomorrow等.

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

at now + 5 min
Run Code Online (Sandbox Code Playgroud)

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

作业文件的示例:

$ cat myjobs.txt
/path/to/a/shell-script.sh
/path/to/any/command/or/script.sh
Run Code Online (Sandbox Code Playgroud)

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

$ at -f myjobs.txt now + 5 min
Run Code Online (Sandbox Code Playgroud)

请查看此链接以获取更多信息.