james david low

live / work / play / worship

WordPress Backup

I run several websites / blogs powered off wordpress. In order to back them up I’ve written a unix shell script to do this. It will automatically read the database settings and do a dump of it, as well as copy themes / plugins / uploads.

There are two versions. One will copy files locally, the other allows a remote sync to another server which is compatible with Dreamhost.

The local copy version can be found here: wp-backup.sh Example usage can be seen below. The -t option allows you only to backup a single theme. The -u option allows you to skip backing up uploads.

./wp-backup.sh /path/to/wordpress /path/to/backup
./wp-backup.sh -t theme -u /path/to/wordpress /path/to/backup

There is also a version to work with Dreamhost’s free (with hosting) 50GB backup plan than can be downloaded here: wp-remote.sh

./wp-remote.sh /path/to/wordpress b123456@backup.dreamhost.com:backup
where b123456 is your backup user

1) Your wp-config file must be pretty strict in order to be read:
define(‘DB_NAME’, ‘database’); // The name of the database
define(‘DB_USER’, ‘username’); // Your MySQL username
define(‘DB_PASSWORD’, ‘password’); // …and password
define(‘DB_HOST’, ‘hostname);

2) The directory you’re copying to must already exist.

3) The options/order of the parameters in calling the script is very strict

If you found any of the software useful, please consider supporting its further developement by donating.
9:22am / Feb 11th / 09
« App Ideas Limegreen Autoupdate »