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

标签 linux jsp web-applications cron

我在服务器机器上有一些 cron 作业计划做一些事情。我想让用户使用 Web 应用程序(jsp 页面)修改那些 cron 作业。所以假设(示例场景)一些作业计划在下午 2 点运行,我希望用户可以选择更改其时间。

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

请帮忙!

最佳答案

假设您的 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。

关于linux - 使用 Web 应用程序远程重新安排 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13434442/

相关文章:

linux - 在 Mac OS X 上编译源代码 - 缺少 ether.h

linux - 从文件中读取日期时间并添加一秒

java - 如何通过采集上一个jsp页面的结果来显示上一个页面的结果?

mysql - app.js 中的代码停止加载 CSS 资源

c - 如何将 malloc 与 madvise 一起使用并启用 MADV_DONTDUMP 选项

linux - 如何在 Linux 中将更改后的文件上传到网站?

jsp - 如何在gsp页面中包含jsp

java - JSP getRemoteAddress 问题

.NET:将 Web 应用程序拆分为多个 DLL?

linux - 在隔离的unix环境中执行终端命令