每次獲得新的 RSS 專案時執行腳本

每次獲得新的 RSS 專案時執行腳本

我有一個基於 Steam 的遊戲伺服器,Unturned for GNU-Linux。我必須手動運行/home/steam/update.sh腳本來更新它。

update.sh下載最新版本的遊戲伺服器並重新啟動服務。


我嘗試過的
我做了一個 cronjob 每天晚上 9 點運行update.sh(他們通常在晚上 7,8 點或 9 點更新)。但這不是一個很好的解決方案,因為有一天他們會在 9:15 更新,伺服器可能會離線一天。

0  21 * * * /home/steam/update.sh > /dev/null 2>&1

我想要的是
我發現,特別是對於這款遊戲,每次更新後他們都會發布變更日誌,並且 Steam 會提供 RSS 連結。http://steamcommunity.com/games/304930/rss/

有什麼方法可以在update.sh每次更新 RSS 時執行我的程式嗎?
有沒有辦法檢查伺服器是否更新?

先感謝您。

答案1

嗯,我想說有。如果您有一個 cron 作業每隔 30 分鐘執行一次(如果您對快速回應著迷,則執行的頻率會更高),則該作業會執行一個僅檢查新 RSS 條目的腳本。如果有新條目,它會呼叫您的更新腳本,如果沒有,則不執行任何操作。即使您每分鐘檢查一次 RSS 提要,這也不會減慢您的系統速度。然而,您必須編寫自己的小東西來追蹤 RSS 條目,但我想您只需要儲存最後一個已知 RSS 條目的時間戳。

答案2

簡短回答:不。

長答案:

  • 你正在提取 RSS 來源,steam 社群的人們無法向你推送可以觸發更新的「魔法訊號」。

  • crontab 解決方案很好,只需將其設定為晚上 9 點 16 分即可確定,update.sh必須能夠處理無回應的伺服器。

相關內容