Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wpbackup2-0.2.21.tar.gz (10.9 kB view details)

Uploaded Source

Built Distributions

wpbackup2-0.2.21-py3.8.egg (31.3 kB view details)

Uploaded Source

wpbackup2-0.2.21-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

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

Hashes for wpbackup2-0.2.21.tar.gz
Algorithm Hash digest
SHA256 f49677365ce61894c72899ae7fba262827450869b2d948bb87a27cd8735cb566
MD5 943171136e057cac9eadb4808187623e
BLAKE2b-256 801836cb8c945b9afd923910723e236a7a9f9b759f5efc5b9fff589d036ad16e

See more details on using hashes here.

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

Hashes for wpbackup2-0.2.21-py3.8.egg
Algorithm Hash digest
SHA256 7cfba22a6ec42c32d5af3246cd36d5fcad53e817e3e47e2e0e09cd87d503d7b4
MD5 25ff78a0ac625e9231f021ba5f31ba5d
BLAKE2b-256 6da299e0403d3a5c711af74328a9d17340e3cc47cd9c291c93067a69b09a7827

See more details on using hashes here.

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

Hashes for wpbackup2-0.2.21-py3-none-any.whl
Algorithm Hash digest
SHA256 5e70864dce2e6286c3a6ff1fec532cedc2a25fcebe23eaafda71aa33be3bfd13
MD5 00d565938c57bb5802d95a7243a9c89e
BLAKE2b-256 fc5785d413b044003f3e0139d3c96ce0e5d129a21c08909407c9c25668181b2c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page