Não é possível sem invadir logrotate
.
No entanto, você pode "trapacear" e obter o mesmo efeito usando um symlink e um cron . Em seu logrotate.conf
set olddir
to /home/mhd-01/logs/olddir/
e crie um cronjob diário que faz:
mkdir /home/mhd-01/logs/archive/$(date "+%y%m%d")
ln -sf /home/mhd-01/logs/archive/$(date "+%y%m%d") /home/mhd-01/logs/olddir/
Certifique-se de que este novo cronjob seja executado antes do trabalho de logrotate - coloque-o em /etc/cron.daily/
com um número na frente (por exemplo, 01_linkrotate
) ou configure-o para ser executado à meia-noite (00:00)
Uma variante mais crua desta solução, sem links simbólicos, usaria cron
para mover o conteúdo de olddir
para o arquivo morto. O cronjob, executando após logrotate ou no final do dia (23:59), faria o seguinte:
mkdir /home/mhd-01/logs/archive/$(date "+%y%m%d")
mv /home/mhd-01/logs/olddir/* /home/mhd-01/logs/archive/$(date "+%y%m%d")/