Question Logrotation - tir post-tour trop tôt?


J'ai un fichier de configuration qui ressemble à:

/var/log/nginx/*.log {
        daily
        missingok
        rotate 90
        dateext
        compress
        notifempty
        create 644 root adm
        sharedscripts
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
                /usr/local/bin/synclogs.sh
        endscript }

synclogs.sh est censé s'exécuter lorsque tous les fichiers journaux ont été pivotés et compressés. Le script démarre correctement, mais lorsqu'il démarre, le programme ne trouve aucun des fichiers .gz que logrotate était censé créer. J'ai exécuté le script manuellement quelques minutes plus tard, ça commence bien.

Selon les documents que j'ai trouvés, postrotate n'est pas censé débuter avant la fin de la compression. N'est-ce pas le cas? S'agit-il d'un bogue dans le logrotate fourni avec Debian Squeeze ou est-ce que quelque chose de très simple m'a manqué?


6
2017-07-28 11:53


origine




Réponses:


Avez-vous essayé ceci:

/var/log/nginx/*.log {
        daily
        missingok
        rotate 90
        dateext
        compress
        **delaycompress**
        notifempty
        create 644 root adm
        sharedscripts
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
                /usr/local/bin/synclogs.sh
        endscript }

Jetez un coup d'œil à l'option delaycompress, bien sûr sans "*" HTH


1
2017-07-28 14:51



Oui, je cherche à télécharger les versions compressées et je ne voulais pas les compresser manuellement - Will


Au cas où quelqu'un se le demanderait, compresse le tir après la post-rotation, malgré ce que dit la page de manuel.


1
2017-09-05 17:58