Wordpress upgrade script

After having to do several Wordpress upgrades in the space of a single week I finally decided to sit down and write a little script to help automate this mess. Why Wordpress doesn’t provide such a script is rather beyond me. This is admittedly a rather brain-damaged script but it does work. Tailor to your own needs:

#!/bin/bash
#
# Script to upgrade Wordpress.
#
# J. Wren Hunt
# July 11, 2008

# Ensure that we have full MySQL root privs before we start
clear
echo "Change the username/password in wp-config.php to root, re-edit and re-run."
exit

# 1st, go to wordpress site and get the latest version:
echo "Retrieiving latest Wordpress upgrade."
wget http://wordpress.org/latest.tar.gz

# If wordpress dir exists, blow it away
echo "Nuking any prior Wordpress directory."
sudo rm -rf wordpress

# Unpack it:
echo "Unpacking the update."
sudo tar xvfz latest.tar.gz

# Backup blog sites
echo "Backing-up blog directories."
sudo tar cfz wrenhunt.tar.gz wrenhunt

# Backup the MySQL databases too - do a tar of the dir and a dump of the db.
cd /var/lib/mysql
#
echo "Backing up the MySQL dirs."
sudo tar cfz wrenz-wordpress.tar.gz wrenz-wordpress

echo "Performing MySQL dumps."
mysqldump -uroot -pXXXXXXXXX --add-drop-database --add-drop-table --databases --compatible=mysql40 wrenz-wordpress >  wrenz-wordpress_dump.sql
gzip wrenz-wordpress_dump.sql

# Now start the upgrade

echo "Nuking Wordpress wp-includes, wp-admin dirs."
sudo rm -rf /var/www/html/wrenhunt/wp-includes
sudo rm -rf /var/www/html/wrenhunt/wp-admin

cd /var/www/html/wordpress
sudo cp -rv . ../wrenhunt

echo "Now point your browser to http://wrenhunt.com/wp-admin/upgrade.php"

Leave a Comment