-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackup.sh
More file actions
42 lines (31 loc) · 1.08 KB
/
backup.sh
File metadata and controls
42 lines (31 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh
P_USER=$1
shift
docker-machine create --driver $@
name=${@: -1}
# docker-machine regenerate-certs $name
MANAGER_IP=$(docker-machine ip $name)
eval "$(docker-machine env $name)"
CMD="ssh -i $DOCKER_CERT_PATH/id_rsa $P_USER@$MANAGER_IP echo ssh works!"
echo CMD=$CMD
$CMD
id_rsa=$(cat ./bot.pem)
SSH_KEY=${id_rsa//
/_}
mkdir .env
echo "MANAGER_IP=$MANAGER_IP
SSH_KEY=$SSH_KEY" > .env/.manager.env
echo ".manager.env: $(cat .env/.manager.env)"
docker-machine ssh $name "mkdir backup"
docker-machine scp dcp.sh $name:~/backup/
docker-machine ssh $name <<-'ENDBACKUP'
DATE=`date '+%Y-%m-%d'`
CONTAINER=$(sudo docker ps -f NAME=postgres --format 'table {{.ID}}' | grep -v -w CONTAINER)
cd backup
find . -type f -name '*.tar' -print0 | xargs -0 rm --
sudo docker exec $CONTAINER pg_dump --dbname=postgres --schema=public --format=t --file=/tmp/pg_dump_$DATE.tar --username=postgres
sudo ./dcp.sh $CONTAINER:/tmp/pg_dump_$DATE.tar .
sudo chmod 777 pg_dump_$DATE.tar
ENDBACKUP
DATE=`date '+%Y-%m-%d'`
docker-machine scp -r $name:backup/pg_dump_$DATE.tar backup/