Ejecuto un script cada vez que recibo un nuevo elemento RSS

Ejecuto un script cada vez que recibo un nuevo elemento RSS

Tengo un servidor de juegos basado en Steam, Unturned para GNU-Linux. Tengo que actualizarlo manualmente ejecutando un /home/steam/update.shscript.

update.shdescarga la última versión del servidor del juego y el servicio se reinicia.


lo que intenté
Hice un cronjob para que se ejecutara update.shtodos los días a las 9 p. m. (generalmente se actualizan a las 7,8 o 9 p. m. en ese momento). Pero no es una buena solución porque algún día se actualizarían a las 9:15 y el servidor podría estar desconectado por un día.

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

Lo que quiero
Descubrí que, particularmente para este juego, después de cada actualización, publican un registro de cambios y Steam proporciona un enlace RSS.http://steamcommunity.com/games/304930/rss/

¿Hay alguna manera de ejecutar mi update.shcada vez que actualizan el RSS?
¿Hay alguna forma de comprobar si el servidor está actualizado?

Gracias de antemano.

Respuesta1

Bueno, yo diría que sí. Si tiene un trabajo cron que se ejecuta cada 30 minutos (o más a menudo si está tan enganchado a una respuesta rápida), ejecuta un script que solo busca nuevas entradas RSS. En caso de una nueva entrada, llama a su script de actualización y, si no, no hace nada. Esto no ralentizará su sistema ni un poco, incluso si revisa la fuente RSS cada minuto. Sin embargo, tendrás que escribir tu propia cosita para realizar un seguimiento de las entradas RSS, pero supongo que sólo tendrás que almacenar la marca de tiempo de tu última entrada RSS conocida.

Respuesta2

respuesta corta: no.

respuesta larga :

  • estás obteniendo un feed rss, la gente de steamcommunity no puede enviarte una "señal mágica" que pueda activar una actualización.

  • la solución crontab está bien, simplemente póngala a las 9:00 p.m. 16 para estar seguro, update.shdebe poder manejar un servidor que no responde.

información relacionada