用一些現有產品取代我的重複任務規劃程序

用一些現有產品取代我的重複任務規劃程序

我有幾個喜歡定期運行的任務:

  • 推送所有 git 倉庫(每天 5 次)
  • 對文件進行病毒掃描(每 90 天)
  • 從伺服器下載備份(每天一次)

對於所有這些任務,我都有一個腳本。為了編排這些,我寫了一個名為的腳本maintenance,它是我的一部分維修工程。這腳本的目前版本

它有一個用於任務的 JSON 設定檔:

"git-autopush": {
    "disk": true,
    "internet": true,
    "interval": 0.3,
    "local": false
},

我想用一些現有的任務排程器來取代我的腳本,因為我想減少系統上的自訂軟體。但是,我有以下要求:

  • 使用電池運作時請勿運作。
  • 提供一些可見的狀態。那甚至可以通過kdialog
  • 一次僅運行一項磁碟繁重的任務。

腳本maintenance會處理這個問題,只要我有足夠的時間讓任務運行,我就可以運行它。如果沒有,我可以中止所有任務並稍後重新啟動。

普通的 cron 不太好,因為當我的電腦關閉時它不會工作。 anacron 可能會更好,但我認為它會在啟動後立即運行所有任務。另外,如果我碰巧需要虛擬機器磁碟,我該如何告訴調度程序停止?

是否有一些現有的程序,或者我應該繼續使用我的程序?

答案1

如果我碰巧需要虛擬機器的磁碟,我該如何告訴調度程序停止?

Cron 和 anacron(通常)是守護程式服務。您可以像停止和啟動任何其他服務一樣停止和啟動它們。

cron 不太好,因為當我的電腦關閉時它不會工作

這是一個很難繞過的標準。當電腦關閉時,您希望軟體執行什麼操作?

anacron 可能會更好,但我認為它會在啟動後立即運行所有任務。

顯然。不過,這裡有個想法:開始和停止anacroncron.

一次僅運行一項磁碟繁重任務

Anacron 有這個選項:

-s
串行執行作業。 Anacron 在前一個作業完成之前不會啟動新作業。

這只是讓你實現這兩個:

  • 使用電池運作時請勿運作。
  • 提供一些可見的狀態。甚至可以透過 kdialog 來實現。

第一個可以透過讓 cron 在啟動 anacron 之前檢查電池狀態來完成。第二個可以透過多種方式完成。你自己已經推薦了一個。

相關內容