#!/bin/bash dbpasswd="xxxx" dbuser="wordpress" dbname="wordpress-stage" datetime=`date +'%m%d%Y_%H:%M'` base="/home/hchadmin/Migrate_Dev2Prod" logfile="$base/logs/deploy_stage.out.$datetime" test ! -d "$base/logs" && mkdir "$base/logs" printf "$dbpasswd\n" >>$logfile printf "\nSTAGE: Backing up [wordpress] Database\n" >>$logfile /usr/bin/mysqldump -u $dbuser -p$dbpasswd $dbname > $base/backup_db/wordpress_stage.sql.$datetime 2>/dev/null printf "\nSTAGE: Backing up [wordpress] Directory\n" >>$logfile zip -r $base/backup_wordpress/wordpress_stage_$datetime.zip /var/www/wordpress-stage >>$logfile # sshpass -p'hchsupp0rt#' ssh -o StrictHostKeyChecking=no hchadmin@10.242.12.92 date printf "\nSTAGE: Date [$datetime] to Import Database from STAGE\n" >>$logfile printf $datetime > $base/datetime.txt # Need to 'drop' STAGE database printf "\nSTAGE: DROP [wordpress] Database\n" >>$logfile /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "DROP DATABASE $dbname"; 2>/dev/null # Might have to create database name wordpress before importing it. printf "\nSTAGE: Create WORDPRESS Database\n" >>$logfile /usr/bin/mysql -u $dbuser -p$dbpasswd -e "CREATE DATABASE $dbname"; 2>/dev/null printf "\nSTAGE: Import DEV Database\n" >>$logfile date2import=`cat $base/datetime.txt` cp $base/backup_db/wordpress_dev.sql.$datetime $base/deploy_db /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname < $base/deploy_db/wordpress_dev.sql.$date2import # UPDATE DATABASE /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_options SET option_value = REPLACE(option_value, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_posts SET guid = REPLACE(guid, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_posts SET post_content = REPLACE(post_content, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET permalink = REPLACE(permalink, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET twitter_image = REPLACE(twitter_image, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET open_graph_image = REPLACE(open_graph_image, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET open_graph_image_meta = REPLACE(open_graph_image_meta, 'devsvr', 'stagesvr')"; /usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_seo_links SET url = REPLACE(url, 'devsvr', 'stagesvr')"; # Need to copy wp-content directory to STAGE from STAGE printf "\nSTAGE: Copying wp-content directory from DEV \n" >>$logfile cp -r /usr/share/wordpress/wp-content /var/www/wordpress-stage printf "\nSTAGE: REPLACE devsvr WITH stagesvr \n" >>$logfile dir=/var/www/wordpress-stage/wp-content/uploads/elementor/css for file in `ls $dir` do printf "$file\n" grep -RiIl devsvr $dir/$file | xargs sed 's/devsvr/stagesvr/g' > /tmp/$file cp /tmp/$file $dir/$file done printf "\nSTAGE: FIND any occurances of devsvr \n" >>$logfile find /var/www/wordpress-stage -iname "*" -type f -print0 | xargs -0 grep -H "devsvr" >>$logfile # /tmp/stage.out