From: Ismaƫl Bouya Date: Tue, 8 Jan 2019 15:31:05 +0000 (+0100) Subject: Rewrite stats generation script X-Git-Tag: nur_publish~346 X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=commitdiff_plain;h=0facadb8d6c96326bec6a2d7f41cc67987c66899 Rewrite stats generation script --- diff --git a/virtual/eldiron.nix b/virtual/eldiron.nix index b9dba3f..cd92b3d 100644 --- a/virtual/eldiron.nix +++ b/virtual/eldiron.nix @@ -661,7 +661,20 @@ enable = true; systemCronJobs = let stats = domain: conf: let - d = pkgs.writeScriptBin "stats-${domain}" "${pkgs.gnused}/bin/sed -n '/\\['$(LC_ALL=C ${pkgs.coreutils}/bin/date -d yesterday +'%d\\/%b\\/%Y')'/ p' /var/log/httpd/access_log-${domain} | ${pkgs.goaccess}/bin/goaccess -o /var/lib/goaccess/${domain}/index.html -p ${conf}"; + d = pkgs.writeScriptBin "stats-${domain}" '' + #!${pkgs.stdenv.shell} + set -e + shopt -s nullglob + date_regex=$(LC_ALL=C date -d yesterday +'%d\/%b\/%Y') + TMPFILE=$(mktemp) + trap "rm -f $TMPFILE" EXIT + + cat /var/log/httpd/access_log-${domain} | sed -n "/\\[$date_regex/ p" > $TMPFILE + for i in /var/log/httpd/access_log-${domain}*.gz; do + zcat "$i" | sed -n "/\\[$date_regex/ p" >> $TMPFILE + done + goaccess $TMPFILE --no-progress -o /var/lib/goaccess/${domain}/index.html -p ${conf} + ''; in "${d}/bin/stats-${domain}"; # FIXME: running several goaccess simultaneously seems to be # bugged?