我有一个基于 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
必须能够处理无响应的服务器。