Amanur Rahman Backup & Restore
Amanur Rahman Backup & Restore is a free WordPress backup plugin that packages your entire database and wp-content files into a single archive — and restores that same archive back with one click.
by Aman Web Solution · github.com/amanhstu/amanur-rahman-backup-restore · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/amanhstu/amanur-rahman-backup-restore/archive/refs/heads/main.zipBack up your entire WordPress site — database and files — into a single archive, and restore it back with one click.
Description
Amanur Rahman Backup & Restore bundles your WordPress database and wp-content files (plugins, themes, uploads) into a single downloadable archive, and can restore that archive back onto the same or a different WordPress install.
Large sites are handled by processing the backup or restore in small steps behind the scenes, so it isn't limited by your server's script execution timeout. Progress is tracked server-side, so you can safely refresh the page or come back later and the job continues right where it left off.
Features
- Full database + wp-content backup to a single .zip
- One-click restore from an uploaded backup or a previously created one
- Step-based processing built for larger sites, with no built-in size limit
- Progress is tracked server-side and resumable if you navigate away
Installation
- Upload the plugin files to
/wp-content/plugins/amanur-rahman-backup-restore, or install it through the WordPress Plugins screen directly. - Activate the plugin through the 'Plugins' screen in WordPress.
- Go to Backup & Restore in your admin menu to create your first backup.
Frequently Asked Questions
Is there a backup size limit?
No limit is imposed by the plugin itself — the practical ceiling is your own server's disk space and PHP upload settings.
Where are my backups stored?
Inside wp-content/uploads/amanur-rahman-backup-restore/backups/, in a folder protected from direct web access.
Does restoring overwrite my current site?
Yes — restoring replaces your current database and wp-content files with the contents of the backup. Always keep a fresh backup of your current site before restoring an older one.
What security measures does this plugin take?
- Every backup/restore action requires the
manage_optionscapability and a valid WordPress nonce. - The backup storage folder — and every working subfolder, including the scratch folder an uploaded archive is unpacked into — is blocked from direct web/browser access and PHP execution (.htaccess + index.php + web.config).
- Uploaded and stored archive names are resolved with
realpath()and confined to the plugin's own storage folder before any read, download, or delete — user-supplied paths can't escape it. - Archive entries are validated before extraction to prevent path-traversal ("zip slip") from a crafted archive.
- Uploaded files are checked by both extension and file signature, not extension alone.
If you discover a security issue, please report it privately to the author rather than in the public support forum.
Screenshots
- Backups screen — create a new backup and see previous ones.
- Live progress while a backup or restore is running.
- Restore screen — upload a backup file to restore it.
(Add screenshot-1.png, screenshot-2.png, screenshot-3.png to the plugin's SVN /assets folder before/after submission — see the submission notes provided separately.)
Changelog
1.4.2
- Removed an unnecessary conditional require of a wp-admin core file.
- Working files for an in-progress backup/restore (the raw database dump and the raw extracted files) now live outside the web-accessible document root instead of under wp-content/uploads, in addition to the existing folder lock-down.
1.4.1
- Renamed the plugin (display name and slug) to be more distinctive.
- Removed the free/premium backup-size cap — the plugin is fully functional with no locked or restricted features.
- Hardened the folder an uploaded archive is extracted into against direct web access/execution.
- Fixed a SQL LIKE pattern in uninstall.php so it can no longer match unrelated option names.
1.0.0
- Initial release: full-site backup, restore, and progress tracking.
Upgrade Notice
1.4.2
Working files for an in-progress job now live outside the web root; removes an unneeded core-file require.
1.4.1
Plugin renamed; removes the backup-size cap and hardens temporary extraction storage. Please review before updating if you rely on the previous slug.
1.0.0
Initial release.