首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux定制Cron -从Mysql运行cron

Linux定制Cron -从Mysql运行cron
EN

Stack Overflow用户
提问于 2018-07-01 22:53:59
回答 1查看 29关注 0票数 0

我有一个运行多个vhost的web服务器,每个vhost都有许多需要运行的作业,这些作业既是web请求,也是ruby。

例如,我必须每2分钟运行一次ruby脚本来检查电子邮件,然后每小时运行一次另一个ruby脚本来检查更新。然后我需要在每晚6点运行一个网页来给我发送一份电子邮件报告。然后,我需要运行另一个网页每6个小时的一般任务。

所以我现在的做法是在crontab中,我为ruby脚本的每个条目输入一个新的行,我只调用rb文件,对于网页,我运行wget,它确实工作得很好

问题是,我现在开始在我的crontab中获得很多条目100+,如果我写了一个新脚本,我必须在crontab中为每个vhost添加条目(当我遗漏一个条目时,问题就会发生)

我希望在mysql中构建一个cron,然后为每个虚拟主机调用"mysql cron“一次,然后它将添加其余的内容。

然后我只需要在crontab中输入一个条目,如果我需要在中添加一个新的调度,那么我只需要在mysql中写入一个条目

有人知道我怎么能做到这一点吗

EN

回答 1

Stack Overflow用户

发布于 2018-07-02 01:57:55

为什么不对专用于数据库的脚本使用MySQL调度作业(又称事件)呢?

我认为这可能是更好的方式。将您的脚本分成两类:数据库和其他。其他的将继续在linux cron (或windows计划)上运行,数据库脚本将在MySQL事件上运行。

需要考虑的优点:

  • Organization
  • Security (不再使用mysql密码遍历o/s)

事件备份(当您发出数据库的备份时,脚本也将是--

  • )

有关如何创建MySQL事件的信息,请参阅Click here

下面提供了一个小的事件示例。这个想法是每6个小时触发一次更新:

CREATE EVENT my_first_event ON SCHEDULE EVERY 6 HOUR DO BEGIN UPDATE tab_pricelist SET promo_price = full_price - (full_price * discount) END ;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51124380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档