dev-scripts/old/wp-duplicate.sh

76 lines
1.2 KiB
Bash
Raw Normal View History

2020-06-08 18:59:06 +00:00
#!/bin/sh
2020-06-12 22:41:13 +00:00
. ./config
if [ "$1" = 'local' ] ; then
src_url="$local_url";
dest_url="$remote_url";
src_ssh="$local_ssh"
dest_ssh="$remote_ssh"
elif [ "$1" = 'remote' ] ; then
src_url="$remote_url";
dest_url="$local_url";
src_ssh="$remote_ssh"
dest_ssh="$local_ssh"
else
echo "error: must specify local or remote"
exit 5
fi
db_file="$wp_path/data.sql"
tar_file="/tmp/wordpress.tar.gz"
############## source
ssh -T $src_ssh << EOSSH
wp db export \
--path="$wp_path" \
--dbuser="$wp_db_user" \
--dbpass="$wp_db_pass" \
--add-drop-table \
--allow-root \
"$db_file"
tar czf "$tar_file" "$wp_path"
EOSSH
scp "$src_ssh:$tar_file" "$tar_file"
ssh -T $src_ssh << EOSSH
rm "$db_file"
rm "$tar_file"
EOSSH
############## destination
scp "$tar_file" "$dest_ssh:$tar_file"
ssh -T $dest_ssh << EOSSH
rm -Rf "$wp_path"
cd /
tar xzf "$tar_file"
wp db import \
--path="$wp_path" \
--dbuser="$wp_db_user" \
--dbpass="$wp_db_pass" \
--allow-root \
"$db_file"
rm "$db_file"
rm "$tar_file"
wp search-replace \
--path="$wp_path" \
--allow-root \
--skip-columns=guid \
"$src_url" \
"$dest_url"
wp option update home \
--path="$wp_path" \
--allow-root
wp option update home \
--path="$wp_path" \
--allow-root
EOSSH
mv "$tar_file" ./wordpress-"$(date +%s)".tar.gz