代码之家  ›  专栏  ›  技术社区  ›  Gattster

在我的项目中存储crontab文件

  •  2
  • Gattster  · 技术社区  · 16 年前

    目前,我正在通过键入 crontab -e . 我想将crontab定义存储在我的项目中,并让我的系统从那里加载它们。

    有没有什么方法可以设置现有crontab服务器来指向这样的include?

    IncludeOtherCrontab /path/to/my/project/project.crontab

    我的系统是CentOS 5.4版(最终版)

    3 回复  |  直到 16 年前
        1
  •  2
  •   Bing Han    8 年前

    便于携带(即不使用 /etc/cron.d ),假设部署脚本必须与第三方crontab项共存 如果部署脚本可以在目标节点上执行命令,而不仅仅是上载文件:

    test -f project.crontab && { { crontab -u user -l | awk '/^#BEGIN PROJECT SECTION/{hide=1;next}/^#END PROJECT SECTION/{hide=0;next}!hide{print}' ; echo '#BEGIN PROJECT SECTION' ; cat project.crontab ; echo '#END PROJECT SECTION' ; } | crontab -u user - ; }

    上面的代码验证特定于项目的crontab部分是否存在,从给定用户的crontab中过滤它(如果它已经存在,则不执行其他操作),附加project部分,然后重新加载lot。

    crontab -u user - 将所有特定于项目的crontab条目添加到 user 的crontab文件。

        2
  •  2
  •   pajton    16 年前

        3
  •  0
  •   a'r    16 年前

    最简单的方法是将crontab条目放入 /etc/cron.d/ . 查看一些现有的文件以了解语法。您可以手动(或通过rpm等安装程序)将文件复制到那里,也可以使用符号链接到安装目录中的文件。