mirror of
https://github.com/dragonflydb/dragonfly
synced 2024-11-21 15:11:20 +00:00
fix: logrotate for dragonfly logs (#1972)
The new logrotate settings assume that dragonfly closes a log file once it grows to large. It never rotates file that is currently open for writing. Specifically logrotate: 1. rotate only log files 2. skip those that are currently open by as process. 3. compresses using zstd which is more cpu efficient than gzip 4. does not truncate/create old files as 0-sized blobs - just renames them Fixes #1935 Signed-off-by: Roman Gershman <roman@dragonflydb.io>
This commit is contained in:
parent
2876a9ecab
commit
6e76f8e6cc
@ -787,8 +787,11 @@ Usage: dragonfly [FLAGS]
|
||||
};
|
||||
|
||||
absl::SetFlagsUsageConfig(config);
|
||||
google::InitGoogleLogging(argv[0]);
|
||||
google::SetLogFilenameExtension(".log");
|
||||
|
||||
MainInitGuard guard(&argc, &argv);
|
||||
|
||||
ParseFlagsFromEnv();
|
||||
|
||||
PrintBasicUsageInfo();
|
||||
|
@ -7,6 +7,6 @@ Vcs-Git: https://github.com/dragonflydb/dragonfly
|
||||
|
||||
Package: dragonfly
|
||||
Architecture: amd64 arm64
|
||||
Depends: libc6, openssl, adduser
|
||||
Depends: libc6, openssl, adduser, zstd
|
||||
Homepage: https://dragonflydb.io
|
||||
Description: A fast in-memory store that is fully compatible with Redis™* and Memcached.
|
||||
|
@ -1,4 +1,5 @@
|
||||
--pidfile=/var/run/dragonfly/dragonfly.pid
|
||||
--log_dir=/var/log/dragonfly
|
||||
--dir=/var/lib/dragonfly
|
||||
--max_log_size=20
|
||||
--version_check=true
|
||||
|
@ -1,7 +1,26 @@
|
||||
/var/log/dragonfly/dragonfly* {
|
||||
weekly
|
||||
# installed by debhelper by convention into /etc/logrotate.d/
|
||||
|
||||
/var/log/dragonfly/dragonfly*.log {
|
||||
daily
|
||||
missingok
|
||||
rotate 12
|
||||
|
||||
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 1
|
||||
fi
|
||||
endscript
|
||||
|
||||
# Possible hook to upload rotated logs to cloud storage.
|
||||
postrotate
|
||||
echo "TBD: POSTROTATE"
|
||||
endscript
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user