tubearchivist-server/helper_scripts/db_sync.sh

34 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# sync production db to local testing vm
remote_host="vps3"
local_host="tubearchivist-website.local"
echo "------------------------------------------------------------"
echo "sync db from $remote_host to $local_host"
echo "------------------------------------------------------------"
# download
printf "\n -> backup\n"
ssh $remote_host 'docker exec postgres pg_dump -U archivist | gzip > backup.gz'
printf "\n -> download\n"
rsync --progress -r --remove-source-files -e ssh $remote_host:backup.gz /tmp/backup.gz
# sync
printf "\n -> sync\n"
rsync --progress -r --remove-source-files /tmp/backup.gz -e ssh $local_host:backup
ssh $local_host 'gzip -df backup/backup.gz'
# replace
printf "\n -> replace\n"
ssh $local_host "docker exec -i postgres psql -U archivist -c 'DROP TABLE IF EXISTS ta_docker_stats;'"
ssh $local_host "docker exec -i postgres psql -U archivist -c 'DROP TABLE IF EXISTS ta_release;'"
ssh $local_host "docker exec -i postgres psql -U archivist -c 'DROP TABLE IF EXISTS ta_roadmap;'"
ssh $local_host "docker exec -i postgres psql -U archivist -c 'DROP TABLE IF EXISTS ta_version_stats;'"
ssh $local_host 'docker exec -i postgres psql -U archivist -d archivist < backup/backup'
ssh $local_host "trash backup/backup"
printf "\n -> done\n"
##
exit 0