cPanel/WHM Scheduled Backup Not Running? 7 Fixes That Work (2026)

Priya

Content Writer & Researcher

Last Updated: 21 September 2026
cPanel/WHM Scheduled Backup Not Running? 7 Fixes That Work (2026)
🖥️

Are Your cPanel Backups Actually Running Every Night?

Many hosting sysadmins discover their backups have been silently failing only after a disaster. CloudHouse proactively monitors your WHM backup jobs, fixes failures before they become data loss events, and tests restores quarterly. Don't find out after a crash.

🖥️12,400+PCs Fixed
⭐4.9★Google Rating
⚡<15 minAvg. Response
🛡️ISO 27001Certified

You set up WHM backups months ago and assumed everything was running fine. Then a server crash happens — and you discover your backups have been silently failing the entire time. This is one of the most common and costly mistakes in cPanel server management.

In this guide, we'll walk through every reason why cPanel/WHM scheduled backups stop running and exactly how to fix each one.

💡 None of these worked? Skip the guesswork.

Get Expert Help →

Step 1: Verify Backups Are Actually Enabled in WHM

The most common reason backups "don't run" is simply that they were never fully enabled.

1. Log in to WHM as root or a reseller with backup permissions.

2. Navigate to Backup Configuration: go to Home > Backup > Backup Configuration.

3. Check the Backup Status section: ensure the Enable Backups checkbox is ticked. If it's unchecked, backups are completely disabled regardless of your schedule settings.

4. Scroll to the Backup Scheduling section: confirm days and times are set. A common gotcha — selecting "Daily" but leaving all day checkboxes unchecked means no backups run.

5. Click Save Configuration after making any changes.

Step 2: Check the WHM Backup Logs for Error Details

cPanel writes detailed logs for every backup attempt. This is your first diagnostic stop.

1. SSH into your server as root and check the backup log directory:

ls -lt /usr/local/cpanel/logs/cpbackup/ | head -20

2. Open the most recent log:

cat /usr/local/cpanel/logs/cpbackup/$(ls -t /usr/local/cpanel/logs/cpbackup/ | head -1)

3. Grep for errors:

grep -i "error\|fail\|warn\|abort" /usr/local/cpanel/logs/cpbackup/*.log | tail -50

Common error strings to look for:

  • Disk is full — backup destination ran out of space
  • Connection refused — remote backup destination unreachable
  • mysqldump: Error — database dump failed
  • Backup aborted — backup cancelled due to low disk space threshold
  • Timeout — backup took longer than configured timeout

You can also check backup status per account in WHM under Backup > Backup Status.

Step 3: Fix Disk Space Issues Preventing Backups

WHM has a built-in safety check — if free disk space falls below the configured threshold (default 5%), it aborts backup runs to prevent the server from filling up completely.

1. Check current disk usage:

df -h /

2. Find large files consuming space:

du -sh /home/* | sort -rh | head -20
du -sh /usr/local/cpanel/logs/* | sort -rh | head -10

3. Clean up old backup files:

ls -lh /backup/
# Remove old compressed backups manually if needed
find /backup/ -name "*.tar.gz" -mtime +14 -delete

4. Adjust the disk space threshold in WHM: In Backup Configuration, under the Backup Disk Space section, lower the minimum free space percentage, or switch to a remote backup destination to avoid filling local disk.

5. Compress old cPanel logs:

gzip /usr/local/cpanel/logs/error_log
gzip /var/log/exim_mainlog

Step 4: Fix the cPanel Backup Cron Scheduler

cPanel's backup system uses its own internal scheduler (not the standard system cron). If the cpbackup service is broken, backups won't run even with a correct WHM configuration.

1. Verify the cpbackup process is running:

ps aux | grep cpbackup

2. Check if the cPanel task queue is stuck:

/usr/local/cpanel/bin/servers_queue run --verbose

3. Manually trigger a backup run to test:

/usr/local/cpanel/bin/cpbackup --verbose

4. Restart the cPanel service if the scheduler appears stuck:

service cpanel restart
# or
/usr/local/cpanel/scripts/restartsrv_cpaneld

5. Verify the cPanel cron entries:

crontab -l | grep -i backup
cat /etc/cron.d/cpanel

If the backup cron entry is missing, reinstall cPanel cron jobs:

/usr/local/cpanel/scripts/rebuildhttpdconf
/usr/local/cpanel/scripts/upcp --force

Step 5: Fix Remote Backup Destination Connection Failures

If you've configured backups to go to an FTP, SFTP, S3, or Google Drive destination and they're not completing, the remote connection is likely failing.

1. Test the connection from WHM: Go to Backup Configuration > Additional Destinations, click the destination name, and click Validate Destination.

2. Test FTP connectivity manually:

ftp your-backup-server.com
# or for SFTP:
sftp user@your-backup-server.com

3. Check for firewall blocks:

# FTP
telnet your-backup-server.com 21
# SFTP
telnet your-backup-server.com 22

4. Verify credentials haven't expired: Remote backup passwords, SSH keys, and API tokens can expire or be rotated. Update credentials in WHM's Additional Destinations tab.

5. For S3 bucket issues: verify your IAM policy includes s3:PutObject, s3:GetObject, and s3:ListBucket permissions for the backup bucket.

Step 6: Fix MySQL/MariaDB Database Dump Failures

WHM backups include MySQL database dumps. If mysqldump fails for any account, the entire backup for that account may be marked as failed.

1. Check for MySQL errors in the backup log:

grep -i "mysql\|dump\|database" /usr/local/cpanel/logs/cpbackup/*.log

2. Test mysqldump manually:

mysqldump --single-transaction --all-databases > /tmp/test_dump.sql
echo "Exit code: $?"

3. Fix MySQL user permissions if mysqldump fails with access denied:

mysql -u root -e "SHOW GRANTS FOR 'cpbackup'@'localhost';"
mysql -u root -e "GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'cpbackup'@'localhost';"
mysql -u root -e "FLUSH PRIVILEGES;"

4. Check for corrupted tables:

mysqlcheck --all-databases --auto-repair -u root -p

Step 7: Fix Backup Timeout Errors

Large hosting accounts with gigabytes of data can cause backup jobs to exceed WHM's default timeout of 2 hours, causing them to abort mid-run.

1. Increase the backup timeout in WHM: In Backup Configuration, locate the Timeout field and increase it. For large servers, 14400 seconds (4 hours) or 21600 (6 hours) is appropriate.

2. Enable incremental backups to reduce backup time after the initial full backup:

In WHM Backup Configuration, set Backup Type to Incremental instead of Compressed. Incremental backups only copy changed files, dramatically reducing backup time on subsequent runs.

3. Exclude large unnecessary directories: In the Configure Backup Additional Destinations, you can exclude directories like public_html/wp-content/cache or large log directories from backups.

4. Stagger large accounts: WHM backs up accounts sequentially. If you have one account with 50GB+ of data, consider moving it to a dedicated backup window.

How to Enable Backup Email Notifications in WHM

The best way to catch backup failures before they become disasters is to configure email notifications.

1. In WHM, go to Backup Configuration.

2. In the Backup Notification section, enter the admin email address.

3. Set notification to trigger on failures (or all runs for full visibility).

4. Save the configuration.

WHM will now email you whenever a backup run encounters an error — so you stop finding out about failures during a disaster recovery event.

Verify Your Backups Are Actually Restorable

A backup that exists but can't be restored is no backup at all. Once your backups are running again, test a restore on a non-critical account:

# List available backups for an account
ls -lh /backup/cpbackup/daily/username/

# Test restore in WHM: Home > Backup > Restore a Full Backup/cpmove File

Verify the restored account's files, databases, and email are intact. Do this quarterly — automated backups fail silently more often than you'd expect. If managing backup health across multiple servers is consuming your team's time, CloudHouse's managed server management service includes proactive backup monitoring, failure alerts, and restore testing as part of the standard package.

FAQs

Get the Free Linux Server Admin Cheatsheet (PDF)

Essential commands for server management, networking, and troubleshooting — all on one printable page.

Running Linux servers? Let us manage them for you.

Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response — so your servers stay up and your team stays focused.

  • Proactive OS patching and security updates
  • 24×7 monitoring with instant alerting
  • Backup configuration and disaster recovery
  • Dedicated Linux engineers on call
See Pricing Plans →

What our customers say

“Our production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

Arun S.

CTO, SaaS Startup

“They migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

Deepak N.

DevOps Lead

Frequently Asked Questions

The most common causes are: backups not enabled in WHM Backup Configuration, no backup days selected in the schedule, disk space below the minimum threshold (default 5% free), or a broken cPanel scheduler. Log in to WHM, go to Backup > Backup Configuration, verify Enable Backups is checked and days are selected, then check /usr/local/cpanel/logs/cpbackup/ for error details.

Need this done for you?

Server Management Service

Managed Linux and Windows servers: monitoring, patching, security and 24/7 support.

Learn more

Book your free 15-minute diagnosis

A certified technician will call you back within 15 minutes during business hours.

Share this article

Leave a Comment

Comments (0)

Loading comments...