The most common JetBackup operation is also the one that does not require admin help: pulling one file or folder out of yesterday's snapshot. cPanel users with JetBackup 5 installed can do it themselves in under a minute, without restoring the entire account, without a support ticket, and without disturbing the live site.
This guide is for end users on a cPanel account where the host runs JetBackup 5. Admin equivalents (CLI, multi-account restores) are at the bottom.
Open the snapshot browser
In cPanel, scroll to the JetBackup 5 section and click File Backups. You will see a list of snapshots, newest first, with the date, time, and size. If the list is empty, the account has no file backups yet — ask the host, who may have only configured account-level backups.
Click the date of the snapshot you want. A file browser opens, rooted at the account's home directory, showing the state of the filesystem at that moment.
Find the file
Navigate the tree the same way you would in the cPanel File Manager. Common paths:
public_html/— the main website docroot.public_html/wp-content/uploads/— for WordPress media.mail/<domain>/<user>/cur/— for individual email messages (one file per message in Maildir format).etc/<domain>/— for SpamAssassin and mailbox config.
Use the breadcrumb at the top to jump back up the tree. There is no search box — if the path is long, copy it from a known-good source (a recent SSH session, a previous deploy log) and paste into the URL bar after ?path=.
Restore one file
Click the file name. Two buttons appear:
- Download — pulls the file from the backup to your computer immediately. Use this when you want to inspect the file before deciding what to do with it.
- Restore — writes the file back to the live filesystem.
Click Restore. JetBackup asks two questions:
- Restore to — Original path (default) or Alternate path. Alternate is useful when you want to compare the backed-up version side by side with the current one — restore to
public_html/restored/and diff. - If file exists — Overwrite or Keep both. Keep both appends a timestamp to the restored file, leaving the live one untouched.
Click Restore Selected. The file is in place within seconds. Refresh the live site to confirm.
Restore multiple files at once
Tick the checkbox next to each file or folder. The Restore Selected button at the top activates with a count. The same overwrite and alternate-path options apply, but they apply to all selected items at once — there is no per-file choice.
Folders restore recursively. Tick the parent, every file inside comes back. This is how you bulk-restore an entire WordPress plugin without restoring the whole wp-content.
When self-service does not work
A few cases that fail or behave unexpectedly:
- No File Backups section in cPanel. The host has only configured account-level backups. Ask them to enable a File Backup job, or use admin-side full account restore.
- Snapshot exists but the file does not. The file was created after the snapshot was taken. Pick an older snapshot — counter-intuitive, but it is the file's creation date that matters, not the snapshot date.
- Restore fails with "destination not writable". A
.htaccessor open_basedir restriction is blocking the target directory. Fix permissions, retry. - Email restore replaces newer messages. Restoring
mail/<domain>/<user>/reverts the entire mailbox to the snapshot state. Restore individual.eml-style files fromcur/instead, or use the JetBackup Email Backups section if the host has enabled it.
For admins: CLI and bulk operations
When end users cannot self-serve (account suspended, file outside the cPanel scope), restore from the command line as root:
# List recent snapshots for an account
jetbackup5api -F listSnapshots -D '{"account": "cpuser", "type": 2}'
# Download a single file from a snapshot to a tmp path
jetbackup5api -F downloadFiles -D '{
"snapshot_id": "abc123",
"files": ["/home/cpuser/public_html/wp-config.php"],
"destination": "/root/restore-tmp"
}'
type: 2 is File Backup; type: 1 is Account Backup. The snapshot ID comes from listSnapshots. Output lands in the destination path as a tarball or as the raw file, depending on selection count.
For repeated restores during an incident, script this — jetbackup5api is idempotent and fast.
Can a cPanel user restore one file without admin help?+
Does JetBackup overwrite the existing file when I restore?+
Why does my JetBackup snapshot not show the file I'm looking for?+
Can I restore one email message from a JetBackup snapshot?+
Does restoring a file in JetBackup affect site uptime?+
Next steps
- Activate or upgrade at JetBackup licensing.
- Adding more storage targets? See JetBackup 5 destinations for cPanel.
- Deciding between backup tools? Read JetBackup vs cPanel built-in backups.