logrotate может это сделать, совпадение с шаблоном может быть для * log, затем вы добавляете раздел под названием «postrotate», рассмотрите возможность postrotate небольшого сценария bash, который запускается после ротации.
пример;
/home/usr/logs/*.log {
daily
missingok
compress
#delaycompress (this will prevent compressing of one day)
notifempty
create 640 root adm
sharedscripts
postrotate
mv /home/usr/logs/*.gz /home/usr/logs/archive/;
endscript
}
ОБНОВЛЕНИЕ1:
если вы хотите использовать zip вместо gzip, добавьте;
compresscmd /usr/bin/zip
compressoptions -r
compressext .zip