Cómo publicar un listado con los artículos más visitados de tu cápsula

2022-11-01

#bash #gemini #agate #journalctl

El objetivo es facilitar al visitante un listado con los 20 artículos más visitados, para ello tendremos que:

	sudo usermod -a -G systemd-journal usuario
	journalctl --since "1 min ago" | grep 'agate-server' | sed '/feed.gmi/d' | sed '/atom.xml/d' | sed '/error/d' | sed '/robots/d' | sed '/top_visitas/d' | cut -d " " -f 12 | sed 's/\"//g' | cut -b 31- | awk 'NF' >> /home/usuario/bin/visitas/logvisitas

Como ves extraigo los logs de agate-server y elimino los logs generados por visitas correspondientes a feed.gmi, atom.xml, robots, errores y las propias del listado de top_visitas que quiero generar, también borro líneas en blanco, por algo que no entiendo de vez en cuando sale una.

	sort /home/usuario/bin/visitas/logvisitas  | uniq -c | sort -nr | head -n 20 > /home/usuario/bin/visitas/listado
	less /home/usuario/bin/visitas/listado | tail -n +2 | head -n 20 > /home/usuario/gemini/content/top_visitas
	less /home/usuario/gemini/content/top_visitas | sed -r 's/(.*)( )//g' | sed 's/^/=>/' > /home/usuario/gemini/content/top_visitas.gmi

Una vez tengas el script personalizando las rutas y filtros, lo haces ejecutable con "chmod+x" y lo programas con "crontab -e". Como has visto pongo siempre las rutas absolutas, es necesario si vas a programar el script con cron.

=> This work by SL1200 is licensed under CC BY 4.0

=> ◄ BACK | 🏠 Home

Proxy Information
Original URL
gemini://sl1200.dystopic.world/art/top_20.gmi
Status Code
Success (20)
Meta
text/gemini;lang=es-ES
Capsule Response Time
210.300871 milliseconds
Gemini-to-HTML Time
0.611426 milliseconds

This content has been proxied by September (ba2dc).