只运行一次cron作业

时间:2011-02-03 19:42:14

标签: ruby-on-rails cron

您好我必须从rails控制器重新启动Apache我尝试用%x{}system命令执行此操作但它失败了所以我决定用cron执行它是否有可能使cron任务成为可能只执行一次?

2 个答案:

答案 0 :(得分:5)

运行一次cron版本称为at。请参阅http://en.wikipedia.org/wiki/At_%28Unix%29以获取解释,并注意将“now”指定为时间会使其立即运行。

答案 1 :(得分:0)

安排一个 cron 作业只运行一次有点棘手,但可以通过自删除脚本来完成!将您的脚本安排在下一分钟或其他更合适的时间,

* * * * * /path/to/self-deleting-script

自删除脚本如下,

#!/bin/bash
# <your job here>
crontab -l | grep -v $0 | crontab - # to delete your script from the cron
#restart your cron service
rm -f $0 #delete the script now

它解决了我在无法安装 at 命令的 openwrt 路由器中的问题。