💾 Archived View for sl1200.dystopic.world › art › fecha.gmi captured on 2023-09-08 at 16:14:49. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
2022-10-01
#bash #date #ansiweather #sed #tr #crontab #gemini
Se trata de publicar en la página índice de nuestra cápsula, de forma automática y en una determinada línea, la fecha, la hora, la temperatua y humedad actuales en nuestro municipio. Para ello hago uso de los comandos date, ansiweather, tr y sed, y lo programo con crontab. Cada x minutos obtengo la información de los comandos date y ansiweather y modifico el archivo index.gmi. El resultado final es que parece que la cápsula tiene algo más de vidilla al informar de datos en tiempo real. El mismo mecanismo puede usarse para publicar en tu cápsula datos actualizados de la bolsa, criptomonedas, noticias, etc.
Para ello debo hacer dos scripts, uno para la fecha y hora y otro para el tiempo. Hago dos para diferenciar la programación de ambos. Para la fecha y hora configuro crontab para que actualice cada minuto pero para la temperatura y humedad lo dejo en 5 minutos, puesto que cada actualización supone una conexión a un servicio externo. Para obtener la temperatura y humedad deberemos instalar en el servidor ansiweather, que extraerá los datos de openweathermap.org.
La instalación es tan sencilla como "sudo apt install ansiweather"
Estos son los pequeños scripts, modifica las rutas si hace falta, las que yo tengo se corresponden con las del servidor Agate:
#!/bin/bash i=$(date "+ ~~~~ %d-%m-%Y %H:%M ~~~~ ") sed -i "7c\\$i" /home/usuario/gemini/content/index.gmi
#!/bin/bash j=$(ansiweather -l lleida -a false -w false -p false | tr 'PsWeathrinLldayHu>m=' ' ' | tr " \t" "\n" | tr -s "\n") j=( $j ) j="~Municipio ${j[*]}HR~" sed -i "8c\\$j" /home/usuario/gemini/content/index.gmi
El 7 y el 8 que salen en la última línea de los scripts se corresponden con el número de línea en el que quieres insertar la fecha, temperatura y humedad dentro del archivo index.gmi.
Una vez tengas los dos scripts, los haces ejecutables con "chmod+x" y los programas con "crontab -e".