2012-12-04 16 views
3

在我的工作中,我們大量使用cron來自動化許多系統管理任務,從備份到報告生成。問題在於我們的50多個cron工作系統的複雜性在其自身的重量下開始崩潰。讓我來形容我們建立了一下:用於控制cron工作複雜性的方法或軟件系統?

  • 〜15的開發,一些誰負責的幾個人通過他們的個人的crontab運行
  • 30+機,其中一些正在運行的cron作業,有時cron作業
  • 許多cron作業不被記錄,並且所有的輸出和錯誤都被管道輸送到/ dev/null的(我懊惱)
  • 一些cron作業太吵,吐出文字的多餘量,使該來自cron的電子郵件痛苦地篩選
  • 大多數cron職位,如果他們是moni tored,則跳轉到一組電子郵件別名,因此,很多人看到不相關的給他們,併成爲習慣於忽略這些
  • 通常cron作業失敗的消息,我們不及時通知
  • 一些的cron工作正在由我們的備份系統進行跟蹤,而其他人則沒有。無源控制。
  • 當我們的一臺服務器出現故障,這意味着存儲在用戶的crontab文件機器上的任何cron作業不跑,我們沒有意識到的是,cron作業運行失敗

理想的情況下,我們想要設置或軟件系統,其中:

  • 任何開發人員都可以進去調整/輕鬆地修復一個cron作業,並不能限制個人的crontab
  • 有靈活性哪些機器cron作業運行即使crontab以某種方式集中在特定機器上
  • 所有成功的cron作業運行被簡潔地記錄,所以我們知道發生了什麼事情
  • 所有錯誤都被困並上報的基礎上的錯誤信息和cron作業
  • 用戶可以在相關的開發人員提供了細粒度的列表被設置爲監視某些cron作業,無論成功或失敗
  • 用戶可以收到細節工作已經失敗,哪些作業已經成功的特定時間窗口摘要(電子郵件或網頁)
  • 的cron的日誌記錄工作狀態(運行時間,退出狀態,輸出量)使用類似RRDtool進行分析
    • 魯棒性:一臺服務器下去也不會破壞整個cron作業系統

網上搜索,我看到的"cron job best practices"一些討論,但似乎只解決我們的一些要求。就某些功能的軟件支持而言,似乎有cronic,shush和cronwrap等工具(對不起,我是新用戶並限於2個超鏈接)。我相信還有更多的東西我錯過了。

看來我可以編碼這樣的東西,但似乎肯定已經創建了這樣的東西。任何關於現有系統/方法的建議,或者關於如何構建這樣的系統的指示,都將不勝感激。

+0

可能相關:http://stackoverflow.com/questions/1914884/distributed-job-scheduling-management-and-reporting – colllin

+0

你有沒有嘗試過使用像哈德森/詹金斯持續集成服務器? –

+0

@collindo:我曾經使用過批處理提交系統,比如Condor和qsub。他們有一些很好的監控功能,但他們不提供類似cron的功能,也沒有日誌記錄或分析功能。 – taltman

回答

0

我不是這方面的專家,但我希望這可以幫助你, 最近我聽說過這個新技術:

Job schedulerWork load automation解決方案,而這list of job scheduler software

實際上我不知道這事,但我想這個工作調度和工作量自動化軟件是在SOA和企業集成架構中使用的,通常可以與ERP系統集成的企業級作業調度。

老實說,我必須承認,我不確定這項技術是否適合您的需求,您必須對這個主題進行深入研究,我希望這個迴應擴大您的「解決方案全景」。

+0

感謝您的參考。我認爲「工作負載自動化」是正確的方向,儘管所有的例子似乎都是這些重量級的企業級企業解決方案。理想情況下,我正在尋找一些管理Unixy,腳本友好和開源的cron複雜性的東西。 – taltman

相關問題