Это невозможно без взлома logrotate
.
Тем не менее, вы можете «обмануть» и добиться того же эффекта, используя символическую ссылку и cron. В вашем logrotate.conf
установите olddir
в /home/mhd-01/logs/olddir/
и создайте ежедневный cronjob, который выполняет:
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/
Убедитесь, что этот новый cronjob запускается перед заданием logrotate - либо вставьте его в /etc/cron.daily/
с номером спереди (например, 01_linkrotate
), либо установите для запуска в полночь (00:00)
Более грубый вариант этого решения без символических ссылок будет использовать cron
для перемещения содержимого olddir
в архив. Cronjob, работающий после logrotate или в конце дня (23:59), будет делать следующее:
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")/