Backup Verification Procedure
Backup Verification Procedure
This document details the procedure for verifying the integrity of MediaWiki backups. Regular verification is crucial to ensure that backups can be reliably restored in case of data loss or system failure. This guide is intended for system administrators and those responsible for maintaining the MediaWiki installation. It assumes a basic understanding of System administration and Database management.
1. Backup Types and Scope
Our backup strategy encompasses several types of backups:
- Database Backups: These backups capture the MySQL database containing all wiki content, revision history, and user data. They are performed using `mysqldump`.
- Filesystem Backups: These backups include the `mw-config.php` file, the `images` directory (containing uploaded files), and any custom extensions or skins. These are performed using `tar`.
- Full Backups: A combination of both database and filesystem backups, providing a complete snapshot of the wiki.
The scope of these backups includes all data necessary to restore the wiki to a functional state, including User accounts, Pages, Categories, and Media files.
2. Verification Steps
The verification process is divided into three stages: database backup verification, filesystem backup verification, and full backup restoration test.
2.1. Database Backup Verification
This stage confirms the database backup can be restored without errors.
Step | Description | Tools |
---|---|---|
1 | Restore the database backup to a temporary database instance. This should *not* overwrite the production database. | `mysql` command-line client |
2 | Run a series of sanity checks on the restored database. This includes verifying table counts and data integrity. | `SELECT COUNT(*) FROM page;`, `SELECT COUNT(*) FROM revision;` |
3 | Attempt a read operation on the restored database to confirm data accessibility. | `SELECT title FROM page LIMIT 10;` |
4 | Drop the temporary database instance. | `DROP DATABASE temporary_wiki;` |
Detailed logs from the restore and sanity check processes should be retained for Auditing. Any errors encountered during this stage indicate a problem with the backup. Refer to the Database documentation for troubleshooting.
2.2. Filesystem Backup Verification
This stage verifies the integrity of the filesystem backup.
Step | Description | Tools |
---|---|---|
1 | Extract the filesystem backup to a temporary directory. | `tar -xvf backup.tar` |
2 | Verify the existence and permissions of critical files, such as `mw-config.php`. | `ls -l temporary_directory/mw-config.php` |
3 | Check the integrity of the `images` directory by verifying a sample of uploaded files can be accessed. | File manager or command-line tools |
4 | Remove the temporary directory. | `rm -rf temporary_directory` |
Ensure that the extracted files have the correct permissions and ownership. Incorrect permissions can prevent the wiki from functioning correctly after restoration. See File system permissions for details.
2.3. Full Backup Restoration Test
This is the most comprehensive verification step, simulating a complete recovery.
Step | Description | Tools |
---|---|---|
1 | Restore both the database and filesystem backups to a dedicated test environment. This environment should mirror the production environment as closely as possible. | `mysql`, `tar`, `mw-config.php` |
2 | Configure the test environment to use the restored database and files. Update `mw-config.php` accordingly. | Text editor |
3 | Access the wiki in the test environment and perform a series of tests to verify functionality. This includes creating and editing pages, uploading files, and navigating through the wiki. | Web browser |
4 | Document the results of the restoration test, including any issues encountered. | Text editor or wiki page |
This test should be performed at least quarterly to ensure the backup and restoration process remains reliable. A successful restoration confirms that the backup strategy is effective. Consult the Disaster recovery plan for further details.
3. Logging and Reporting
All verification steps and their results must be logged. This log should include:
- Date and time of the verification
- Backup type verified (database, filesystem, full)
- Any errors encountered
- Confirmation of successful verification
These logs should be stored securely and reviewed regularly. Automated reporting can be implemented using Scripting languages to streamline the process. See the Logging policies for more information.
4. Automation
Consider automating the verification process using scripts or dedicated backup verification tools. Automation reduces the risk of human error and ensures that backups are verified consistently. Tools like Cron can be leveraged for scheduled verification jobs.
Special:MyPreferences
Help:Contents
Manual:Configuration
Manual:Database setup
Manual:Installing MediaWiki
Manual:Upgrading MediaWiki
Extension:Maintenance
Special:Search
Help:Editing pages
Help:Formatting pages
Special:AllPages
Manual:Shortcuts
Manual:Administrators
Special:Statistics
Manual:FAQ
Help:Table syntax
Manual:Configuring output caching
Special:RecentChanges
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️