#!/bin/sh
-trap "exit 2" USR1
+trap "exit 1" USR1
err() {
printf "error: server not detected, needs to be set manually\n" >&2
# there's no way for only one printf to fail
[ -z "$SERVER" ] && SERVER=$(which > /dev/null 2>&1 apache2 && printf "apache2" || which > /dev/null 2>&1 nginx && printf "nginx" || err)
-{ zcat /var/log/"$SERVER"/error.log.*.gz; cat /var/log/"$SERVER"/error.log /var/log/"$SERVER"/error.log.1; } | grep --color=auto -a "$@"
+{ gzip -cd $(ls /var/log/"$SERVER"/error.log.*.gz | sed 's/.*\.\([0-9]*\)\.gz/\1 &/' | sort -rn | cut -d' ' -f2-); cat /var/log/"$SERVER"/error.log.1 /var/log/"$SERVER"/error.log; } | grep --color=auto -a "$@"