If you are hosting a WordPress installation on your Linux server, than you may find it useful to automate the update using a bash script. While WordPress is capable of doing a web based update, we strongly believe in the principle of least privilege. Using this principle ensures tight security, however this comes at the expense of flexibility in terms of updates. Without further ado, below is our bash update script to update WordPress from the command line.
#!/bin/bash # # Update WordPress website. # # if [ -n "$1" ];then cd /var/www # Backup website cp -r $1 $1.bkp # Download and prepare latest wget https://wordpress.org/latest.zip unzip -o latest.zip rm -r wordpress/*.txt wordpress/*.html cp -avr wordpress/* $1 # Set website owners chown -R root:root /var/www/$1 chown -R www-data:root /var/www/$1/wp-content/uploads # Set file permissions chmod -R 0644 /var/www/$1 # Set directory permissions find /var/www/$1/ -type d -exec chmod 755 {} \; # Cleanup downloads rm -r latest.zip wordpress else echo "Usage: ./wp-update-website mywebsitefolder" fi
Note: the script above is named
wp-update-website
and is setup to be run by passing the directory name of your WordPress website folder. It is important to understand that the script will need to be modified to fit your particular environment.