【问题标题】:how to change cron table from svn?如何从 svn 更改 cron 表?
【发布时间】:2014-03-31 13:37:25
【问题描述】:

有没有办法用来自 svn 或 git 的文件更新 cron 表?

而不是调用

crontab -e 

并手动更改表我想签入这些更改并让 crontab 将其拾取。

这可能吗?

【问题讨论】:

  • ls -la /var/spool/cron/crontabs/
  • @zerkms:恕我直言,使用crontab 命令比乱用/var/spool/cron/crontabs/ 要好得多。看我的回答。

标签: git unix svn cron crontab


【解决方案1】:

恕我直言,执行此操作的最佳方法是将 crontab 保存在您在源代码控制系统(SVN、Git 等)中维护的文件中,然后通过在该文件上调用 crontab 命令进行安装。

就我个人而言,我只是手动完成。我没有经常更改我的 crontab,因此确实值得自动化该过程。我想您可以在源代码控制系统中配置某种钩子,以便在您签入文件时自动调用文件上的crontab(详细信息将取决于您使用的源代码控制系统),但我从来没有打扰过。

这比crontab -e 有一些相当大的优势,我很少使用它。这意味着如果我不小心搞砸了,我总是可以回到我的 crontab 以前的工作版本,我可以准确地看到我所做的更改。用crontab -e,如果出错了,之前的版本就没有记录了。

这也意味着您可以使用crontab -e

进行临时实验性更改
crontab -l > mycron.txt
vi mycron.txt
crontab mycron.txt

没有永久丢失任何信息的风险;完成实验后,您可以在源代码控制文件上运行 crontab

您的 crontab 可能存储在 /var/spool/cron/crontabs/$USER 中。我建议直接将该文件置于版本控制之下。这样做可能会干扰系统对文件的处理,并且这些文件只能由root 访问;您可以从您自己的用户帐户运行crontab filename。 (一般来说,不要像 root 那样做你实际上不需要像 root 那样做的任何事情。)

【讨论】:

  • 谢谢基思!为了简单起见,我可以让 cronjob 每天运行一次 crontab 命令。然后将自动获取任何更改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 2018-09-21
  • 2011-02-13
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多