Backup and restore all your self-hosted WordPress content
Project description
py-wordpress-backup
A Python package for backing up and restoring a self-hosted WordPress installation, including the database and uploaded content.
The backup file will contain:
- Your database as a MySQL dump.
- An exact copy of your entire WordPress directory.
The restore process will:
- Extract the files into the correct location
- Update
wp-config.php
with new settings (if needed) - Create the database if it doesn't exist
- Add the user and grant it access if it doesn't exist
- Restore the database
Credit
Credit for the original version of this goes to Cariad Eccleston.
TODO
- Unit tests.
- Handle
wp-config.php
being somewhere other than the default location.
Installation
pip install wpbackup2
Usage
To backup:
python3 -m wpbackup2 backup --wp-dir /www/wordpress --archive ~/backup.tar.gz
Note that the current release of py-wordpress-backup
expected wp-config.php
to exist within your WordPress directory, and will use it to read your database credentials to perform the backup. Keeping your wp-config.php
file in this location might not be the best practice, and I'll likely handle this in a future update.
To restore using database admin credentials held in AWS Secrets Manager:
python3 -m wpbackup2
restore
--wp-dir /www/wordpress
--archive ~/backup.tar.gz
--admin-credentials-aws-secret-id AdminUserSecretID
--admin-credentials-aws-region eu-west-1
To restore with specified database admin credentials:
python3 -m wpbackup2
restore
--wp-dir /www/wordpress
--archive ~/backup.tar.gz
--admin-user admin
--admin-password trustno1
--new-site-url https://new.site.url
--new-site-host https://new.site.url
--new-db-host
--new-db-port 3306
--new-db-name new-wordpress-db-name
Development
import wpbackup2
wp = WpBackup()
wpbackup('path to wordpress', 'archive name')
Prerequisites
py-wordpress-backup requires Python 3.6 or newer.
Installing dependencies
pip install -e .[dev]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file wpbackup2-0.2.21.tar.gz
.
File metadata
- Download URL: wpbackup2-0.2.21.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f49677365ce61894c72899ae7fba262827450869b2d948bb87a27cd8735cb566 |
|
MD5 | 943171136e057cac9eadb4808187623e |
|
BLAKE2b-256 | 801836cb8c945b9afd923910723e236a7a9f9b759f5efc5b9fff589d036ad16e |
File details
Details for the file wpbackup2-0.2.21-py3.8.egg
.
File metadata
- Download URL: wpbackup2-0.2.21-py3.8.egg
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cfba22a6ec42c32d5af3246cd36d5fcad53e817e3e47e2e0e09cd87d503d7b4 |
|
MD5 | 25ff78a0ac625e9231f021ba5f31ba5d |
|
BLAKE2b-256 | 6da299e0403d3a5c711af74328a9d17340e3cc47cd9c291c93067a69b09a7827 |
File details
Details for the file wpbackup2-0.2.21-py3-none-any.whl
.
File metadata
- Download URL: wpbackup2-0.2.21-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e70864dce2e6286c3a6ff1fec532cedc2a25fcebe23eaafda71aa33be3bfd13 |
|
MD5 | 00d565938c57bb5802d95a7243a9c89e |
|
BLAKE2b-256 | fc5785d413b044003f3e0139d3c96ce0e5d129a21c08909407c9c25668181b2c |