1

У меня есть игровой сервер на базе Steam, Unturned для GNU-Linux. Я должен обновить его вручную, запустив скрипт /home/steam/update.sh .

update.sh загружает последнюю версию игрового сервера и служба перезапускается.


Что я пробовал
Я сделал cronjob для запуска update.sh каждый день в 9 вечера (обычно они обновляются в 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?
Есть ли способ проверить, обновлен ли сервер?

Заранее спасибо.

2 ответа2

3

Ну, я бы сказал, что есть. Если вы выполняете задание cron каждые 30 минут (или чаще, если вы зациклились на быстром ответе), он запускает скрипт, который проверяет только новые записи RSS. В случае новой записи он вызывает ваш скрипт обновления, а если нет - ничего не делает. Это не замедлит работу системы - даже если вы проверяете RSS-канал каждую минуту. Тем не менее, вам придется написать свою маленькую вещь, чтобы отслеживать записи RSS, но я думаю, вам нужно только сохранить метку времени вашей последней известной записи RSS.

0

краткий ответ: Нет.

длинный ответ:

  • Вы запускаете RSS-канал, люди в Stecomcommunity не могут дать вам "волшебный сигнал", который может вызвать обновление.

  • С решением crontab все в порядке, просто поставьте его 9pm16, чтобы быть уверенным, update.sh должен быть способен обрабатывать неотвечающий сервер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .