How to Exclude Files & Directories from cPanel Backups (cpbackup-exclude.conf Guide)

Stop cPanel backup failures and prevent disk space exhaustion. Learn how to configure cpbackup-exclude.conf to skip massive error_log files, staging directories, cache folders, and temp archives.

How to Exclude Files & Directories from cPanel Backups (cpbackup-exclude.conf Guide)

Automated cPanel backups are your primary safety net against catastrophic hardware failure, plugin update crashes, and developer errors. However, on active websites, staging environments, and high-traffic e-commerce portals, full account backups frequently become an operational nightmare.

You might notice your nightly backups taking five hours to compress, triggering server-wide CPU load spikes, or failing entirely with errors like gzip: stdout: No space left on device.

In almost every case, the root cause is identical: cPanel is diligently compressing dozens of gigabytes of useless clutter—including bloated error_log files, expired caching directories, staging database dumps, and node_modules folders.

By configuring cPanel’s native cpbackup-exclude.conf file, you can instruct backup scripts to ignore these non-essential directories, slashing backup duration and reclaiming vital server storage.


1. How cPanel Backup Exclusion Works

cPanel’s internal backup utilities (pkgacct, WHM Automated Backups, and user-initiated cPanel Full Backups) check for an exclusion configuration file before building the compressed tarball:

┌────────────────────────────────────────────────────────────────────────┐
│                   CPANEL BACKUP EXCLUSION ARCHITECTURE                 │
├────────────────────────────────────────────────────────────────────────┤
│  Backup Process Initiated (pkgacct / cron / WHM Backup Manager)        │
│                                │                                       │
│  Script Inspects: /home/username/cpbackup-exclude.conf                 │
│                   AND /etc/cpbackup-exclude.conf (Server-Wide)         │
│                                │                                       │
│  [Does Path Match An Exclusion Pattern?]                               │
│         │                               │                              │
│       YES                             NO                               │
│         ▼                               ▼                              │
│   SKIPPED FROM TARBALL            COMPRESSED & INCLUDED IN BACKUP      │
│   (Saves CPU, IOPS & Storage)     (Preserves Core Code & Databases)    │
└────────────────────────────────────────────────────────────────────────┘

cPanel supports exclusions at two operational levels:

  1. User-Level Exclusion: Placed at /home/$USER/cpbackup-exclude.conf. Affects only that specific cPanel user account.
  2. Server-Wide Exclusion (Root Sysadmins): Placed at /etc/cpbackup-exclude.conf. Enforces rules across every cPanel account hosted on the server.

2. Step-by-Step: Creating a User-Level cpbackup-exclude.conf

If you are a website owner or cPanel user without root SSH privileges, you can configure your exclusions directly via the cPanel File Manager or Terminal.

Step 1: Access Your Home Directory

  1. Log into your cPanel dashboard.
  2. Open File Manager.
  3. Ensure you are in your account root directory (/home/yourusername/), which is one level above public_html.
  4. Click Settings (top right) and ensure “Show Hidden Files (dotfiles)” is checked.

Step 2: Create or Edit cpbackup-exclude.conf

Check if cpbackup-exclude.conf already exists. If not, click + File at the top left and create a file named exactly:

cpbackup-exclude.conf

Step 3: Populate with Exclude Rules

Paths in cpbackup-exclude.conf must be relative to the user’s home directory (do NOT include /home/username/ in the path).

Here is a battle-tested template for modern WordPress, Laravel, and e-commerce websites:

# Exclude PHP error logs across the entire account
*/error_log
public_html/*/error_log
public_html/error_log

# Exclude WordPress caching directories (LSCache, WP Rocket, Super Cache)
public_html/wp-content/cache/*
public_html/wp-content/litespeed/*

# Exclude UpdraftPlus and third-party local backup dumps inside wp-content
public_html/wp-content/updraft/*
public_html/wp-content/ai1wm-backups/*

# Exclude Node and Composer package dependencies
*/node_modules/*
*/vendor/*

# Exclude Git repositories and staging branches
public_html/.git/*
staging.yourdomain.com/*

# Exclude temporary zip files, tarballs, and SQL dumps left by developers
*.zip
*.tar.gz
*.sql
*.tar

Click Save Changes. The next time an automated backup or manual full backup runs, these heavy directories will be bypassed.


3. Server-Wide Exclusions (For VPS & Dedicated Server Sysadmins)

If you manage a Cloud VPS or bare-metal dedicated server hosting dozens of client accounts, you should enforce server-wide hygiene to prevent any single tenant from exhausting backup disk volumes.

Connect to your server via SSH as root and edit /etc/cpbackup-exclude.conf:

nano /etc/cpbackup-exclude.conf

Add universal patterns:

*/error_log
*/wp-content/cache/*
*/node_modules/*
*.tar.gz
*.zip
*.sql
.trash/*

Save and exit (Ctrl + O, then Ctrl + X).

Testing Your Exclusions via Terminal

You can test whether your exclusion file works without waiting for the nightly cron job by running the cPanel account packaging script manually:

/scripts/pkgacct username /backup/test/

Inspect the output terminal log. You will observe lines verifying that excluded paths are skipped during the tar packaging phase.


4. The Benefits: Backup Duration & I/O Reduction

Implementing standard backup exclusions yields dramatic performance improvements across your server:

┌────────────────────────┬────────────────────────┬────────────────────────┐
│ METRIC                 │ WITHOUT EXCLUSIONS     │ WITH EXCLUSION RULES   │
├────────────────────────┼────────────────────────┼────────────────────────┤
│ Backup Archive Size    │ 42.8 GB (Full Clutter) │ 6.4 GB (Clean Code/DB) │
│ Compression Duration   │ 48 Minutes             │ 6 Minutes (-87% Faster)│
│ Storage IOPS Consumed  │ Heavy Disks Throttling │ Minimal Background I/O │
│ Offsite S3 Transfer    │ Expensive Bandwidth    │ Instant Sync           │
└────────────────────────┴────────────────────────┴────────────────────────┘
  1. Faster Restoration Times: In a disaster recovery event, extracting a 6 GB archive takes seconds, whereas extracting a 40 GB archive crammed with millions of tiny cache files can take hours.
  2. Lower Offsite Storage Costs: If you push daily backups to Amazon S3, Google Cloud Storage, or Wasabi, reducing backup file sizes saves significant monthly storage and bandwidth egress fees.
  3. Zero Backup Failures: Eliminates sudden disk-full crashes during nightly backup generation.

5. Upgrade to Infrastructure with Dedicated Backup Drives

While software-level backup exclusions keep your storage tidy, running heavy backup routines on the same physical drive as your live production database causes noticeable I/O latency for visitors.

High-performance Dedicated Servers allow you to install a dedicated secondary storage drive (or an attached NFS/NAS storage network) specifically dedicated to automated backups, isolating backup I/O from your primary operating system.

For enterprises requiring high performance and strict domestic data protection, our Dedicated Servers in Pakistan provide unshared hardware resources, high-throughput network backbones, and 24/7 dedicated system engineering support.

Sysadmin & Server Architecture

Upgrade to Enterprise Cloud VPS & Dedicated Hosting

Tired of resource limits, sluggish backups, and server crashes? Move your applications to Nextgen's high-speed Cloud VPS and bare-metal dedicated servers with automated offsite backup snapshots and 24/7 expert management.

View Fast Cloud VPS Options → Explore Pakistan Dedicated Servers

Disclaimer: This post is for informational and educational purposes only, accurate to the best of our knowledge at publication. It does not constitute advice. We do not guarantee accuracy or completeness and accept no liability for any decisions or losses resulting from reliance on this content.