Uma sugestão, o comando de data GNU (encontrado na maioria dos sistemas Linux) pode ter uma expressão de data:
date --date='today-7 days 0000' ;; print 7 days earlier than today at 0000
date --date='26 Sep 2002 00:15:16 -5 hours' ;; closer to your example
Isso pode facilitar o seu script.
Assim, o processamento seria: (1) obter a data de início e formatá-la (2) localizar o ponto no arquivo e (3) imprimir. Isso pode ser feito de várias maneiras, provavelmente com uma simples declaração sed no arquivo de log.
EDITAR ADDIÇÃO:
Especificamente, isso deve funcionar: (não é garantido que será totalmente testado, mas funciona!)
#! /bin/sh
set -uh
filename=/var/log/apache2/access_log
lastdate='tail -1 $filename | sed 's/^.*\[//
s/\].*$//
s/ .*$//
s/\// /g
s/:/ /''
newdate='date --date="$lastdate -5 hours" +"%d\/%b\/%Y:%H:"'
awk '/'"$newdate"'/,/^$/ {print $0}' $filename
exit 0