Wasabi is the cheapest S3-compatible target most cPanel hosts can justify — flat $6.99/TB/month with no egress fees, which works out to roughly a third of S3 Standard once you factor in restores. JetBackup 5 talks to it via the standard Amazon S3 (compatible) destination type, so setup is a bucket, an access key, and four fields.
The one trap: Wasabi charges for a 90-day minimum retention even if you delete the object on day one. Plan job frequency accordingly — see the retention note at the end.
Create the Wasabi bucket and sub-user
In the Wasabi console, Storage → Create Bucket. Pick the region closest to your cPanel server — egress within a region is free, cross-region costs the same as the public internet on either side, so this matters for restore speed too.
- Bucket name: globally unique, e.g.
acme-cpanel-backups. - Region: match the server. US East 1 (
us-east-1) is in N. Virginia; EU Central 2 (eu-central-2) is in Frankfurt. - Public access: leave fully blocked.
- Bucket versioning: off — JetBackup handles its own retention, versioning would double-bill you.
- Object lock: off, unless you have a compliance reason. It interacts badly with JetBackup's prune.
Then in Access Keys → Create New Access Key, choose Sub-user rather than root. Attach a bucket-scoped policy so the key cannot touch other buckets if it leaks:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:*"],
"Resource": [
"arn:aws:s3:::acme-cpanel-backups",
"arn:aws:s3:::acme-cpanel-backups/*"
]
}]
}
Save the access key and secret somewhere safe — Wasabi only shows the secret once.
Add the destination in JetBackup 5
In WHM open JetBackup 5 → Destinations → Create Destination. Pick Amazon S3 (compatible) as the type (not "Amazon S3" — that one assumes AWS endpoints).
Fill in:
- Name —
wasabi-eu-centralor similar, this is just a label. - Endpoint —
s3.<region>.wasabisys.com. Forus-east-1it iss3.us-east-1.wasabisys.com; foreu-central-2it iss3.eu-central-2.wasabisys.com. The leadinghttps://is added automatically. - Region — the region code, e.g.
us-east-1. Must match the endpoint. - Bucket — the bucket name from the previous section, no path prefix.
- Access Key ID — from the sub-user.
- Secret Access Key — from the sub-user.
- Path style addressing — enabled. Wasabi supports both, but path-style avoids DNS issues with hyphenated bucket names.
- Use SSL — enabled.
Click Test Connection. JetBackup writes a small test object, reads it back, and deletes it. A green tick means you are done; a red error usually means region/endpoint mismatch or path-style addressing disabled.
Attach the destination to a job
In JetBackup 5 → Backup Jobs, open an existing Accounts job (or create one). Under Destinations, tick the Wasabi destination. Save.
The first sync runs from /usr/local/jetapps/usr/jetbackup5/repository/ and uploads every account's current snapshot. On a 50-account server with 10 GB per account, expect 4-8 hours over a 100 Mbps link. Watch progress in Queue:
jetbackup5api -F getQueueItems -D '{"limit": 20}'
Subsequent runs are incremental — only changed files transfer, so the daily delta is usually under 1 GB even on a busy server.
Retention strategy with Wasabi's 90-day minimum
Wasabi bills storage in 90-day chunks. Delete a 1 GB object after one day, you pay for 90 days of 1 GB anyway. This kills any plan to run hourly backups with short retention — every pruned snapshot keeps billing until day 90.
Two retention patterns that work:
- Daily for 30, weekly for 12 — keeps storage roughly flat after week 12, no early-delete penalty after the first 90 days.
- Daily for 90, then nothing — simplest. Set Retention to 90 days flat, never prune sooner.
Do not run hourly snapshots to Wasabi. Keep hourly on local disk, sync only the daily to Wasabi. Configure this with two destinations on the same job: local for hourly retention, Wasabi for daily.
# Verify a backup actually landed in the bucket
aws --endpoint-url https://s3.us-east-1.wasabisys.com s3 ls s3://acme-cpanel-backups/ --recursive | head
Why does the JetBackup test connection fail for Wasabi?+
How much does Wasabi cost for cPanel backups?+
Can I run hourly backups to Wasabi?+
Does JetBackup encrypt backups before uploading to Wasabi?+
Can one Wasabi bucket hold backups from multiple cPanel servers?+
Next steps
- Activate JetBackup at JetBackup licensing.
- Add more destination types — see JetBackup 5 destinations for cPanel.
- Stop double-billing disk: disable cPanel backups when running JetBackup.