小编Aza*_*azo的帖子

维护cronjobs和shell脚本的最佳实践?

我继承了一个庞大的crontab,我需要维护和更新.我没有太多的经验或bash脚本(我认为我对基础知识有一个很好的掌握),我想做得很好.简短请求:任何"重构"凌乱的crontab和一组bash脚本的指南

长期请求:我遇到了很多问题,但很多人使用cron文件等我觉得我必须缺少一些大型信息库,最佳实践和工具 - 或者这只是一个风格上的差异那种编程?(我的偏见:为什么我可以使用工具更快,更一致,更好地手动执行某些操作?).

迄今为止的问题示例:

  1. 由于外部事件,crontab没有运行几天.与其他人一起,我们手动浏览列表,试图找出未运行的内容,我们需要重新运行的内容,以及我们需要编辑和运行早期日期等的脚本.我找不到:

    • 网上有很多(略显无意义的)"cron generator".相反的地方在哪里?我可以在一个长的crontab,两个日期中输入的东西,并让它输出哪些进程应该运行,或者总共运行多少次?这似乎在我微薄的脚本功能中,所以它不应该存在吗?;)
    • 或者,如果我必须再次执行此操作,是否有某种方法可以调用bashscript以便将date()的任何实例预先设置为较早的时间,而不是更改脚本中的每个日期调用?(例如,所有错过的报告和结算发票)
  2. 事实证明,一份特定的报告已经运行了两年.它只是再次被要求,而且,它在crontab中!bash脚本刚刚破坏了对相关文件的路径引用.我找不到:bash文件的某种路径检查器?像网站链接检查器.是的,我最终将手动完成这些操作,但它至少会显示一些问题区域.

  3. 听起来有些时候,依赖进程之间的间隔太长或太短,因此在第一次运行之后发生了更新,或者在第二次调用之前第一次没有完成运行.我已经看到了一些可能的选项(例如anacron按顺序运行),但你会推荐什么?

  4. 还有大量基本无意义的电子邮件从crontab生成(脚本抛出错误但运行'正确',大多数情况下无声地失败,或只是打印非必要脚本的永久性).我会手动浏览脚本并尝试让它们提供更多有用的数据,或者"安静地成功",但是你知道 - 任何指导方针?

如果我对这个问题的理解或布局感到困惑,那么我道歉,但是嘿 - 你看到了我的问题!我需要去从新手,知道怎样做才能得到这个正确的,并没有进一步搞砸了一个敏感的系统.谢谢!

bash cron file-organization crontab

13
推荐指数
2
解决办法
6514
查看次数

标签 统计

bash ×1

cron ×1

crontab ×1

file-organization ×1