How to Restore a Backup in DirectAdmin
Restore a DirectAdmin backup from Admin Backup/Transfer: place user.admin.name.tar.gz in /home/admin/admin_backups, chown it to admin, tick the account and click Restore. The panel queues the job for dataskq. At user level, open Create/Restore Backups instead. The restore is done when the site and its database load.
For DirectAdmin admins and resellers recovering an account: level choice, file placement, queue troubleshooting and single-database extractions.
knowledge
- Read time
- 4 min
- Sections
- 8
- Updated
- 14 Nov 2026
- Written by
- WebJi® team
Last editorial update: 15 November 2026.
Which DirectAdmin restore level do you need?
DirectAdmin restores at three levels — user, reseller and admin — and the level decides which accounts are in scope, so pick the lowest level that covers what you lost. A restore overwrites: if the account still works and you only lost a table or a folder, take a fresh backup first, download it, and only then restore.
| Level | Where it lives | What it can restore |
|---|---|---|
| User | Advanced Features → 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 |
Where must the backup file sit for DirectAdmin to see it?
An admin-level restore lists only archives that sit in /home/admin/admin_backups with admin ownership and a DirectAdmin filename — uploading through the panel puts the file there for you, uploading over SFTP usually does not.
cp user.admin.bob.tar.gz /home/admin/admin_backups/
chown admin:admin /home/admin/admin_backups/user.admin.bob.tar.gz
df -h /home
- Naming: archives follow the pattern
user.admin.username.tar.gz(oruser.reseller.username.tar.gz); dated variants are also accepted. A file calledbackup-2026.zipwill not appear in the list. - Ownership: the file must belong to admin, or the restore screen ignores it.
- Free space: a restore unpacks to roughly three times the archive size — check
df -h /homefirst.
How do you restore an account at user level?
Log in as the account owner, open Advanced Features → 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 the job to its task queue and the restore runs in the background, so a large account looks stalled for a minute or two.
Reload after a couple of minutes: the archive disappears from the restore list when the job has been picked up. If nothing moves, the queue itself is stuck — see the admin-level section below.
How do you restore at admin or reseller level?
At admin level, open Admin Backup/Transfer, tick the account in the restore list and click Restore; at reseller level the same list sits under Manage User Backups, limited to the reseller's own users. The web request only queues the job — DirectAdmin appends it to /usr/local/directadmin/data/task.queue, and the dataskq daemon processes it, the same path scheduled backups take.
If the queue is stuck, run the daemon by hand once from a root shell and watch the output:
cd /usr/local/directadmin
./dataskq
Return to Admin Backup/Transfer afterwards: the In Progress tab shows each restore with its progress percentage, and panel errors land in /var/log/directadmin/error.log if a job fails.
How do you confirm the restore actually 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.
- Home page loads over HTTPS, not only 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 → Cron Jobs.
- No new lines in error_log in public_html after one reload.
Restoring a WordPress site end to end — database import, URL rewrite, permalinks — has its own WordPress restore walkthrough; coming from cPanel instead of DirectAdmin, the cPanel backup and restore guide maps to the equivalent screens.
Can you restore only files, only MySQL, or a single folder?
Yes — a full restore is the wrong tool when one table is corrupt, and the archive is a plain tar file you can open and mine for exactly what you need. User backups carry a backup/ directory holding user.conf, domains/, mysql/ and email/.
tar -tzf user.admin.bob.tar.gz | head -40
tar -xzf user.admin.bob.tar.gz -C /root/restore backup/domains/bob.com/public_html
mysql -u bob -p bob_wp < /root/restore/backup/mysql/bob_wp.sql
rsync -a /root/restore/backup/domains/bob.com/public_html/ /home/bob/domains/bob.com/public_html/
chown -R bob:bob /home/bob/domains/bob.com/public_html
If you have only phpMyAdmin, import the same .sql file there and set the character set to utf8mb4 first. One warning from hard experience: do not copy user.conf back onto a live account — it carries limits and package settings from the old server, and DirectAdmin will apply them over the account's current configuration.
What do the common restore errors mean?
Four messages cover almost every failed DirectAdmin restore, and each names its own fix. Read the last twenty lines of /var/log/directadmin/error.log before changing anything else.
| 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 backing it up |
| Unable to read backup file | Wrong path, wrong owner, or a truncated upload | Move it to /home/admin/admin_backups, chown admin:admin, compare size with the source |
| 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 task queue is blocked | Run ./dataskq from /usr/local/directadmin and read the output |
How do you keep a backup you can actually restore?
An untested backup is a guess: schedule the admin backup daily to a second disk or remote storage, and once a quarter restore one account to a spare user to prove the archive works. WebJi®'s server backup solutions keep an off-site copy separate from the server you are restoring onto, so a disk failure cannot take the backup with it.
If you would rather not run tar and dataskq yourself, email support@webji.services with the account name, the archive date and what is missing — the team restores it and confirms the site and database load. Support answers 24/7 in Hindi and English, average first reply under an hour. For moving files between servers rather than 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 archive in /home/admin/admin_backups, chown it to admin, tick the account and click Restore — the job runs through dataskq. At user level, open Create/Restore Backups and pick the archive from the list.
Where does DirectAdmin keep backup files?
Admin-level archives are listed from /home/admin/admin_backups, and reseller archives from the reseller's own backup folder. User-level backups sit in the account's backups directory, and full system backups go to the path configured in the system backup settings.
Why does my restore show 0 percent and never finish?
The panel only queues the job into /usr/local/directadmin/data/task.queue; if dataskq is stopped, the queue never runs. Log in as root, cd to /usr/local/directadmin and run ./dataskq to process the queue by hand, then read the output and /var/log/directadmin/error.log.
Can I restore just one database from a DirectAdmin backup?
Yes. The archive is a tar file: list it with tar -tzf, extract the backup/mysql/ folder, 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 restoring, and use a partial tar extraction when only one table or folder is damaged.
Can WebJi® restore the account for me?
Yes. Email support@webji.services with the account name, the archive date and what is missing. If the archive is on the server, the team restores it and confirms the site and its database load. Support is by email, 24/7 in Hindi and English.
Last editorial update: 15 November 2026. Restore paths and queue behaviour checked against the DirectAdmin documentation.
Ready to get started with WebJi®?
Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.