Entendo que o logrotate passará o nome do arquivo de log para o script em postrotate
; você poderia usar o script e o primeiro parâmetro e o conhecimento de que o logrotate criou arquivos girados usando o formato -%s
datet para gerar uma lista desses arquivos:
import sys
import fnmatch
import os
for file in os.listdir(os.path.dirname(sys.argv[1])):
if fnmatch.fnmatch(file, os.path.basename(sys.argv[1]) + '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'):
print(file)
Este é o meu primeiro script python, por isso pode não ser idiomático, mas mostra a ideia. A função fnmatch () usa uma glob que deve cobrir você por vários anos (até o final de novembro de 2286), quando 9.999.999.999 segundos serão transferidos para 10.000.000.000. Você poderia "alargar" a glob para que "just" exigisse "10 dígitos e depois qualquer coisa":
...
if fnmatch.fnmatch(file, os.path.basename(sys.argv[1]) + '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*'):
...