Skip to main content

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]

Metadata

Release files for wpbackup2 0.2.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wpbackup2 0.2.21
File Size Uploaded
wpbackup2-0.2.21.tar.gz 10.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for wpbackup2 0.2.21
File Interpreter ABI Platform
wpbackup2-0.2.21-py3.8.egg Legacy Egg format - - Details
wpbackup2-0.2.21-py3-none-any.whl Python 3 none any Details

Total release size: 57.2 kB

Release files / wpbackup2-0.2.21.tar.gz

Download URL wpbackup2-0.2.21.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f49677365ce61894c72899ae7fba262827450869b2d948bb87a27cd8735cb566
BLAKE2b-256 checksum
How to use checksums
801836cb8c945b9afd923910723e236a7a9f9b759f5efc5b9fff589d036ad16e
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / wpbackup2-0.2.21-py3.8.egg

Download URL wpbackup2-0.2.21-py3.8.egg
Size 31.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
7cfba22a6ec42c32d5af3246cd36d5fcad53e817e3e47e2e0e09cd87d503d7b4
BLAKE2b-256 checksum
How to use checksums
6da299e0403d3a5c711af74328a9d17340e3cc47cd9c291c93067a69b09a7827
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / wpbackup2-0.2.21-py3-none-any.whl

Download URL wpbackup2-0.2.21-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e70864dce2e6286c3a6ff1fec532cedc2a25fcebe23eaafda71aa33be3bfd13
BLAKE2b-256 checksum
How to use checksums
fc5785d413b044003f3e0139d3c96ce0e5d129a21c08909407c9c25668181b2c
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.2.21 This release

3 release files

0.2.11

3 release files

0.2.10

3 release files

0.2.9

3 release files

0.2.8

3 release files

0.2.7

3 release files

0.2.6

3 release files

0.2.5

3 release files

0.2.4

3 release files

0.2.2

3 release files

0.2.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page