Which DirectAdmin restore level to use
DirectAdmin restores at three levels, and the level decides which files are in scope. Pick the lowest level that covers what you lost.
| Level | Where it lives | What it can restore |
|---|---|---|
| User | Advanced Features, then Create/Restore Backups | One account: files, databases, email, DNS, cron for that user |
| Reseller | Manage User Backups | Any user the reseller owns, from an uploaded archive |
| Admin | Admin Backup/Transfer | Any account on the server, including ones without a reseller |
A restore overwrites. If the account still works and you only lost a table or a folder, take a fresh backup of the account first, download it, and only then restore.
Put the backup file where DirectAdmin can see it
An admin-level restore only lists archives that sit in the admin backup directory. Uploading through the panel puts the file there for you; uploading over SFTP usually does not.
- Copy the archive to the admin backup folder:
cp user.bob.tar.gz /home/admin/admin_backups/ - Hand ownership to admin, or the restore will not see it:
chown admin:admin /home/admin/admin_backups/ user.bob.tar. gz - Confirm the name follows the DirectAdmin pattern,
user.NAME.tar.gz. A file calledbackup-2026.zipwill not appear in the list. - Check free space first:
df -h /home. A restore unpacks to roughly three times the archive size.
Restore an account at user level
Log in to DirectAdmin as the account owner, not as admin. Open Advanced Features, then Create/Restore Backups. Tick files, databases, email and DNS as needed, then choose the archive from the restore list and confirm.
The page returns immediately. DirectAdmin writes a job to its task queue and the restore runs in the background, so a large account looks stalled for a minute or two. Reload the page after a couple of minutes and the archive disappears from the list when the job has been picked up.
Restore an account at admin or reseller level
At admin level, open Admin Backup/Transfer, find the archive in the restore list, tick the account and click Restore. At reseller level the same list sits under Manage User Backups, limited to the reseller's own users.
The restore is not run by the web request. DirectAdmin hands it to dataskq, the same daemon that runs scheduled backups. If the queue is stuck, run it by hand once, from a root shell:
cd /usr/local/directadmin ./dataskq d800and read the output as it works through the job.- Return to Admin Backup/Transfer. The In Progress tab shows the restore with a percentage per account.
Watch the restore and confirm it worked
A progress bar at 100 percent means the archive was unpacked, not that the site works. Run these six checks before you close the ticket.
- The home page loads over HTTPS, not just over HTTP.
- A database-backed page works, for example a WordPress post or a product page.
- Row counts match:
SELECT COUNT(*) FROM wp_posts;against the old server. - Email logs in through webmail with an existing mailbox password.
- Cron jobs are listed under Advanced Features, then Cron Jobs.
- No new lines in
error_login public_html after one reload.
Restore only files, only MySQL, or one folder
A full restore is the wrong tool when one table is corrupt. The archive is a plain tar file, so you can look inside and take only what you need.
- List the contents:
tar -tzf user.bob.tar.gz | head -40. User backups start with abackup/directory holdinguser.conf,domains/,mysql/andemail/. - Extract one folder to a scratch path:
tar -xzf user.bob.tar.gz -C /root/restore backup/domains/bob.com/public_ html - For one database, import the dump directly:
mysql -u bob -p bob_wp < /root/restore/backup/mysql/ bob_wp.sql - If you have only phpMyAdmin, import the same
.sqlfile there. Set the character set to utf8mb4 before importing. - Copy the files back with
rsync -a /root/restore/and fix ownership:.../public_ html/ /home/bob/ domains/bob. com/public_ html/ chown -R bob:bob /home/bob/domains/bob. com/public_ html
Do not copy user.conf back on a live account. It carries limits and package settings from the old server, and DirectAdmin will overwrite the account's current limits with them.
Restore errors and what each one means
| Message | What it means | Fix |
|---|---|---|
| User already exists | The account was never removed, or a partial restore left it behind | Restore at user level, or remove the account after taking a backup of it |
| Unable to read backup file | Wrong path, wrong owner, or a truncated upload | Move it to /home/admin/ |
| Permission denied on public_html | Files unpacked as root | chown -R user:user on the domain folder |
| Restore stuck at 0 percent | dataskq is not running or the job queue is blocked | ./dataskq d800 from /usr/local/ |
DirectAdmin writes its own log at /var/log/ and the restore detail at /var/log/. Read the last twenty lines of both before changing anything else.
Keep a backup you can actually restore
An untested backup is a guess. Schedule the admin backup daily to a second disk or to remote storage, and once a quarter restore one account to a spare user to prove the archive works.
WebJi® backup solutions keep an off-site copy of the account, separate from the server you are restoring onto, so a disk failure does not take the backup with it. If you would rather not run tar and dataskq yourself, email support@webji.
For moving files between servers instead of restoring an archive, the rsync guide covers the transfer and the dry run.
Frequently Asked Questions
How do I restore a backup in DirectAdmin?
At admin level open Admin Backup/Transfer, put the user archive in /home/admin/
Where does DirectAdmin keep backup files?
Admin-level archives are listed from /home/admin/
Why does my restore show 0 percent and never finish?
The panel only queues the job. If dataskq is stopped, the queue never runs. Log in as root, cd /usr/local/
Can I restore just one database from a DirectAdmin backup?
Yes. The archive is a tar file, so list it with tar -tzf, extract backup/mysql/ and import the .sql file with mysql -u user -p database < dump.sql. That avoids overwriting files that are currently fine.
Does a DirectAdmin restore overwrite the live site?
Yes. A full account restore replaces files, databases, email and DNS for that account. Take and download a fresh backup of the working account before you restore, and use a partial tar extraction when only one table or folder is damaged.
Can WebJi® restore the account for me?
Email support@webji.

