Shell-Script

是否有任何方便的命令行工具來管理 Cron 作業?

  • December 28, 2011

有人會建議任何方便的命令行(不是網路)工具或腳本來添加、啟用和禁用 Cron 作業嗎?例如,我正在尋找以下(或類似)行為:

sh manageCron.sh -idJob 'job1' -addJob '* * * * * <do some job>'
sh manageCron.sh -dissableJob 'job1' 

crontab -e 命令非常適合手動編輯 crontab 文件,但我需要自動化。

crontab -u USER -l會將 crontab 列出到 STDOUT。

crontab -u USER FILE將 FILE 作為 USER 的 crontab 載入。

現在唯一缺少的是一種辨識“工作”的方法。

“AddJob”將在目前 crontab 的輸出中添加一行,並將其作為新的 crontab 讀取。

“DisableJob”只會在您的工作行前添加評論,

“EnableJob”將從您的工作行中刪除評論。

這是我之前用來管理、自動化 crontab 的工具,但與您正在尋找的東西並不完全一樣。http://search.cpan.org/~scottw/Config-Crontab-1.33/Crontab.pm

CFEngine 的 cfperl 具有這種行為,可用於建構您所要求的東西。crontab 本身實際上是一個簡單的配置文件,然後 cron(d) 解析各個 crontab(或 /var/spool/cron/ 下的那些)並在記憶體中安排事件列表。

因此,如果您正在尋找通過簡單的 cron 的 crontab 再次包裝您的配置,那麼您可能不是在尋找 cron,而是在尋找其他會觸發您的作業的調度程序。

引用自:https://unix.stackexchange.com/questions/27819