Aqui está um script rápido que fará o que você precisa:
#!/bin/bash
LOGDIR=/var/log/somedir
OLDLOGS=/var/log/keep-old-logs-here
PATH=/bin:$PATH
TODAY=$(date +'%Y%m%d')
[ -d $OLDLOGS ] || mkdir -p $OLDLOGS
cd $LOGDIR
for LOG in $(ls | egrep '^[[:digit:]]{8}$'); do
[ $LOG -lt $TODAY ] && gzip $LOG && mv $LOG.gz
done
Torne o script executável:
$ chmod +x /where/you/put/this/script
A entrada do crontab será semelhante a:
30 0 * * * /where/you/put/this/script
Basta ajustar LOGDIR
e OLDLOGDIR
. Às 12h30, todos os registros serão movidos no formato AAAAMMDD para os dias anteriores (e anteriores, se houver).