Skip to content

Instantly share code, notes, and snippets.

@revolunet
Last active June 21, 2021 15:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save revolunet/9e2854dbc4754ee7b6806f09bc0de8a0 to your computer and use it in GitHub Desktop.
Save revolunet/9e2854dbc4754ee7b6806f09bc0de8a0 to your computer and use it in GitHub Desktop.
backup/restore some volume/db
#!/bin/sh
#
# Volumes
#
# copy preprod
kubectl --context dev2 --namespace xxx-224-preprod-dev2 cp strapi-68db665b4f-qlxzx:/app/public/uploads ./xxx-preprod
# to prod
cd ./xxx-preprod
for f in ./*
do
echo "Processing $f file..."
kubectl --context prod2 --namespace xxx cp $f strapi-596759cdf5-vkktd:/app/public/uploads/
done
#
# DB through bastion
#
ssh -L 1111:xxxdevserver.postgres.database.azure.com:5432 factory@40.89.139.58
pg_dump --format=custom --file preprod.dump "postgresql://preprod%40xxxdevserver.postgres.database.azure.com:xxx@127.0.0.1:1111/preprod?sslmode=require"
ssh -L 1112:xxxprodserver.postgres.database.azure.com:5432 factory@40.89.139.58
pg_restore "postgresql://prod%40xxxprodserver.postgres.database.azure.com:xxx@127.0.0.1:1112/prod?sslmode=require" --clean --dbname prod preprod.dump
#
# si besoin de clean avant, executer l'output de ceci avec PSQL
#
# SELECT 'DROP TABLE "' || table_name || '" CASCADE;'
# FROM information_schema.tables
# WHERE table_schema='public'
# AND table_type='BASE TABLE';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment