Log-rotate удалить оригинальный файл после сжатия - PullRequest
0 голосов
/ 27 августа 2018

В моем 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.

1 Ответ

0 голосов
/ 02 марта 2019

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

blacklistadm.out * [0-9]

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

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

...