Лог-ротация удалить исходный файл после сжатия

У меня есть следующие файлы в моем someDir:

blacklistadm.out00009 blacklistadm.out00008 blacklistadm.out00007 blacklistadm.out00010 blacklistadm.out00025

У меня есть следующий шаблон ротации журнала в /etc/logrotate.d/:

someDir/blacklistadm.out*[0-9]{
    weekly
    missingok
    compress
        sharedscripts
        postrotate
                rm -f someDir/blacklistadm.out*[0-9]
        endscript
}

Когда запускается сценарий ротации журналов, он каким-то образом удаляет все файлы в someDir. Я хочу, чтобы .gz все файлы и после сжатия удаляли исходный файл. Я не хочу удалять файлы .gz.


person Dhruv Pandey    schedule 27.08.2018    source источник


Ответы (1)


Файлы удаляются, потому что ваше подстановочное значение используется неправильно.

черный списокadm.out*[0-9]

буквально заменяется на любой файл, начинающийся с "blacklistadm.out", за которым следует любая последовательность из 0 или более символов, заканчивающаяся одним символом в пределах определенного диапазона 0-9.

Очевидно, что это относится ко всему, потому что все ваши файлы начинаются с «blacklistadm.out» и заканчиваются числом, поэтому, когда вы запускаете свой скрипт postrotate с идентичным глобусом, вы сопоставляете все в этом каталоге и удаляете его.

person parttimeturtle    schedule 01.03.2019
comment
@parttimeturle Это нормально, если он удаляет все эти файлы, на самом деле мой вопрос заключается в том, почему он также удаляет файлы .gz, созданные после сжатия. - person Dhruv Pandey; 12.04.2019
comment
@DhruvPandey Покажите нам содержимое вашего файла /etc/logrotate.conf - person parttimeturtle; 14.04.2019