使用Web应用程序远程重新安排cron作业

时间:2012-11-17 20:20:46

标签: linux jsp web-applications cron

我在服务器计算机上安排了几个cron作业。我想让用户使用Web应用程序(jsp页面)修改这些cron作业。因此,让我们说(示例场景)某些作业计划在下午2点运行,我希望用户可以选择更改其时间。

从一开始看起来非常微不足道,但现在我被卡住了。我是Linux新手。目前如何创建cron作业:crontab - e;然后我根据需要手动添加新作业。但我想通过Web界面为远程用户提供此功能。

请帮忙!

1 个答案:

答案 0 :(得分:1)

让我们说你的crontab有以下几行:

20 3 * * * /home/somebody/somescript.sh

您可以使用以下命令列出您的crontab:

crontab -l

然后您可以使用命令sed:

更改预定时间
sed 's/20 3 \* \* \* \/home\/somebody\/somescript.sh/30 4 \* \* \* \/home\/somebody\/somescript.sh/'

最后,您可以通过将新文件传递给crontab命令再次将其提交给crontab。

结果将是上面讨论的三个命令的组合,并将通过管道连接:

crontab -l | sed 's/20 3 \* \* \* \/home\/somebody\/somescript.sh/30 4 \* \* \* \/home\/somebody\/somescript.sh/' | crontab

第一个命令会将当前的crontab列表到标准输出。然后sed将替换时间并将替换的文件传递给crontab命令,该命令将把它安装为新的crontab。

请注意,大多数servlet没有足够的系统权限来创建或修改crontab。