💾 Archived View for sl1200.dystopic.world › art › top_20.gmi captured on 2024-08-18 at 17:22:24. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
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.