Executa um script toda vez que recebo um novo item RSS

1

Eu tenho um servidor de jogos baseado no Steam, o Unturned para GNU-Linux. Eu tenho que atualizá-lo manualmente executando um script /home/steam/update.sh .

update.sh faz o download da versão mais recente do servidor do jogo e o serviço é reiniciado.

O que eu tentei
Eu fiz um cronjob para executar update.sh todos os dias às 21:00 (eles geralmente atualizam às 7 ou 9 horas da noite). Mas não é uma boa solução porque algum dia eles estariam atualizando às 9:15 e o servidor poderia ficar offline por um dia.

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

O que eu quero
Eu descobri que particularmente para este jogo, depois de cada atualização eles postam um changelog e o Steam fornece um link RSS. link

Existe alguma maneira de executar meu update.sh toda vez que eles atualizam o RSS?
Existe alguma maneira de verificar se o servidor está atualizado?

Obrigado antecipadamente.

    
por Jose Serodio 02.09.2016 / 12:27

2 respostas

3

Bem, eu diria que existe. Se você tiver uma tarefa cron executando a cada 30 minutos (ou com mais frequência se estiver conectado a uma resposta rápida), ele executará um script que só verifica novas entradas de RSS. No caso de uma nova entrada, ele chama seu script de atualização e, se não, não faz nada. Isso não diminuirá o seu sistema nem um pouco - mesmo se você verificar o feed RSS a cada minuto. No entanto, você terá que escrever sua própria coisa para acompanhar as entradas de RSS, mas acho que você só precisa armazenar o timestamp da sua última entrada de RSS conhecida.

    
por 24.01.2017 / 09:06
0

resposta curta: Não.

resposta longa:

  • você está puxando um feed rss, as pessoas na comunidade steamcommunity não podem enviar um "sinal mágico" que pode acionar uma atualização.

  • a solução crontab está bem, basta colocar 9pm16 para ter certeza, update.sh deve ser capaz de lidar com um servidor que não responde.

por 02.09.2016 / 16:00