安装程序

Debian

sudo apt update && sudo apt install zstd logrotate -y

RHEL

sudo dnf makecache && sudo dnf install zstd logrotate -y

Alpine

sudo apk update && sudo apk add zstd logrotate

更改时区

Debian/RHEL

sudo timedatectl set-timezone "Asia/Shanghai"

Alpine

setup-timezone

创建配置(以Xray为例)

sudo nano /etc/logrotate.d/xray_logs

/var/log/xray/*.log {dailyrotate 100missingoknotifemptycompresscompresscmd /usr/bin/zstduncompresscmd /usr/bin/unzstdcompressoptions -19 -T1compressext .zstdelaycompressdateextdateyesterdaydateformat -%Y-%m-%d-%H%M%Scopytruncate        create 600 nobody nogroupsharedscripts}

测试

sudo logrotate -f /etc/logrotate.d/xray_logs

ls -al /var/log/xray

输出结果应该类似于

-rw------- 1 nobody nogroup     0 Nov  9 00:12 access.log-rw------- 1 nobody nogroup 32948 Nov  9 00:12 access.log-2025-11-08-121239

access.log-2025-11-08-121239 会在第二天被压缩