Berikut skrip quickie yang akan melakukan apa yang Anda butuhkan:
#!/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
Jadikan skrip dapat dieksekusi:
$ chmod +x /where/you/put/this/script
Entri crontab akan terlihat seperti:
30 0 * * * /where/you/put/this/script
Cukup sesuaikan LOGDIR
dan OLDLOGDIR
. Pada pukul 12:30 pagi, itu akan memindahkan semua log dalam format YYYYMMDD untuk hari-hari sebelumnya (dan sebelumnya, jika ada).