每次收到新的 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 提要,steamcommunity 上的人们无法向您推送可触发更新的“魔法信号”。

  • crontab 解决方案很好,只需将其设置为 9pm16 即可,update.sh必须能够处理无响应的服务器。

相关内容