Hostxpeed
Login Get Started →
Server Management

How to Compress Old Logs Automatically

3 min read
22 views
Jun 10, 2026

Prerequisites

Before compressing logs, make sure you have:

  • SSH access to your VPS
  • Root or sudo privileges

Step 1: Enable Compression in logrotate

Connect to your VPS:

ssh hxroot@YOUR_SERVER_IP -p 22
sudo nano /etc/logrotate.conf

Ensure these lines are present:

compress
delaycompress

delaycompress keeps the most recent rotated log uncompressed for easier reading, then compresses on next rotation.

Step 2: Verify Compression Settings per Application

Check nginx config:

sudo cat /etc/logrotate.d/nginx | grep compress

Add if missing.

Step 3: Manual Compression of Old Logs

If you have unrotated large logs:

sudo gzip /var/log/syslog.1

Or compress all logs older than 7 days:

sudo find /var/log -type f -name "*.log" -mtime +7 -exec gzip {} ;

Step 4: Set Compression Level

In /etc/logrotate.conf:

compresscmd /bin/gzip
compressoptions -9   # Max compression

Step 5: Test logrotate with compression

sudo logrotate -f /etc/logrotate.conf

Check results:

ls -lh /var/log/*.gz

✅ Automatic log compression enabled. Rotated logs will be compressed to save space.

Was this article helpful?