dev-scripts/scripts/wordpress/restore.sh

35 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
. ./config
[ -z "$1" ] && echo "Error - must supply backup directory" && exit 45
! [ -d "$1" ] && echo "Error - '$1' not a directory" && exit 65
backup_dir="$1"
timestamp="$(date +%s)"
backup_dir_dest="/tmp/wp-content-$timestamp"
backup_db_dest="/tmp/wp-db-$timestamp"
echo "restoring from $backup_dir"
ssh "$remote_ssh" "mv $remote_wp_path/wp-content $backup_dir_dest"
# TODO - only continue if backup succesful
echo "remote wp-content backed up as: $backup_dir_dest"
cat "$backup_dir/$backup_dir.tar" | ssh "$remote_ssh" "cd /; tar zxvf -"
# TODO - test database backup works
ssh "$remote_ssh" "wp db export $backup_db_dest --path=$remote_wp_path"
# TODO - only continue if backup succesful
echo "remote database backed up as: $backup_db_dest"
cat "./$backup_dir/$backup_dir.sql" | wp db import --ssh="$remote_ssh$remote_wp_path" -
wp search-replace "$local_protocol://$local_domain" "$remote_protocol://$remote_domain" \
--ssh="$remote_ssh$remote_wp_path" \
--skip-columns=guid \
--quiet
wp search-replace "$local_domain" "$remote_domain" \
--ssh="$remote_ssh$remote_wp_path" \
--skip-columns=guid \
--quiet