我知道我可以通过添加一行(如:*/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
,您可以使用时间甚至midnight
、teatime
、tomorrow
等关键字指定命令运行的时间。
你可以这样指定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