-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackup.sh
executable file
·27 lines (22 loc) · 1006 Bytes
/
backup.sh
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
#!/bin/bash
# Este comando hace que si hay un error el script
# llame un exit con el nÃmero del error y no siga
# ejecutando
set -e
# Capturamos la fecha actual en formato yyyy-mm-dd
today=$(date +%Y-%m-%d)
# Generamos el nombre que va a tener el archivo sql
# por ejemplo mydb-2016-09-29.sql
# la variable $POSTGRES_DB la toma de las variables de entorno
# que pasamos en el docker-compose.yml
filename="$POSTGRES_DB-$today.sql"
# Generamos el dump de la base de datos y lo guardamos en un archivo
# con el nombre que definimos antes
pg_dump -h $POSTGRES_HOST -U $POSTGRES_USER $POSTGRES_DB > /tmp/$filename
# Para subir un archivo a dropbox basta con hacer un POST a la API url
# con un access token
curl -X POST https://content.dropboxapi.com/2/files/upload \
-H "Authorization: Bearer $DROPBOX_ACCESS_TOKEN" \
-H "Dropbox-API-Arg: {\"path\": \"/$filename\", \"mode\": \"add\",\"autorename\": true,\"mute\": false}" \
-H "Content-Type: application/octet-stream" \
--data-binary @/tmp/$filename