dragonfly/tools/packaging/debian/dragonfly.logrotate
s13k ff2359af30
fix(tools): Prevent dragonfly.logrotate to stop logrotate service (#4176)
Update dragonfly.logrotate

If multiple logs are being rotated and one of them fails (due to exit 1), the other logs that follow won't be rotated either, unless logrotate is run again.

If you want to prevent the rotation of a specific log file and not affect the rest of the logs, you'll want to handle the condition properly to ensure that logrotate doesn't abort due to the failure of the prerotate script.

To prevent the rotation of a specific log file without causing issues for other logs, you can use exit 0 to prevent rotation cleanly or design your prerotate script to handle conditions carefully.

Signed-off-by: s13k <s13k@pm.me>
2024-11-24 17:27:05 +00:00

26 lines
629 B
Text

# installed by debhelper by convention into /etc/logrotate.d/
/var/log/dragonfly/dragonfly*.log {
daily
missingok
compress
compresscmd zstd
uncompresscmd unzstd
compressext .zst
notifempty
# do not create an empty file after the rotation.
nocreate
prerotate
if lsof -t $1 > /dev/null; then
# file is open. Skipping rotation."
exit 0
fi
endscript
# Possible hook to upload rotated logs to cloud storage.
postrotate
echo "TBD: POSTROTATE"
endscript
}