diff --git a/helper_scripts/db_sync.sh b/helper_scripts/db_sync.sh new file mode 100755 index 0000000..51411e3 --- /dev/null +++ b/helper_scripts/db_sync.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# sync production db to local testing vm + +remote_host="vps2" +local_host="lpb-air.local" + +echo "---------------------------------------" +echo "sync aqi db from $remote_host to $local_host" +echo "---------------------------------------" + +# download +printf "\n -> backup\n" +ssh $remote_host 'docker exec postgres pg_dump -U aqi | gzip > backup.gz' +printf "\n -> download\n" +rsync --progress -r --delete-after -e ssh $remote_host:backup.gz /tmp/backup.gz + +# sync +printf "\n -> sync\n" +rsync --progress -r --delete-after /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 aqi -c 'DROP TABLE IF EXISTS aqi;'" +ssh $local_host "docker exec -i postgres psql -U aqi -c 'DROP TABLE IF EXISTS weather;'" +ssh $local_host 'docker exec -i postgres psql -U aqi -d aqi < backup/backup' +ssh $local_host "trash backup/backup" +printf "\n -> done\n" + +## +exit 0