@@ -3,32 +3,51 @@ export PGPASSWORD=$POSTGRES_PASSWORD
3
3
export VOLUME_DIR=/mnt/data
4
4
5
5
date=$( date ' +%y%m%d_%H%M' )
6
- backupFile=$VOLUME_DIR /osmseed-db-${date} .sql.gz
6
+ local_backupFile=$VOLUME_DIR /osmseed-db-${date} .sql.gz
7
+ cloud_backupFile=database/osmseed-db-${date} .sql.gz
7
8
stateFile=$VOLUME_DIR /state.txt
8
9
restoreFile=$VOLUME_DIR /backup.sql.gz
9
10
10
11
echo " Start...$DB_ACTION action"
11
12
# Backing up DataBase
12
13
if [ " $DB_ACTION " == " backup" ]; then
13
14
# Backup database and make maximum compression at the slowest speed
14
- pg_dump -h $POSTGRES_HOST -U $POSTGRES_USER $POSTGRES_DB | gzip -9 > $backupFile
15
+ pg_dump -h $POSTGRES_HOST -U $POSTGRES_USER $POSTGRES_DB | gzip -9 > $local_backupFile
15
16
16
17
# AWS
17
18
if [ " $CLOUDPROVIDER " == " aws" ]; then
18
- # Upload to S3
19
- aws s3 cp $backupFile $AWS_S3_BUCKET /database/ $backupFile
20
- # The file state.txt contain the latest version of DB path
21
- echo " $AWS_S3_BUCKET /database/ $backupFile " > $stateFile
22
- aws s3 cp $stateFile $AWS_S3_BUCKET /database/$stateFile
19
+ echo " $AWS_S3_BUCKET / $cloud_backupFile " > $stateFile
20
+ # Upload db backup file
21
+ aws s3 cp $local_backupFile $AWS_S3_BUCKET / $cloud_backupFile
22
+ # Upload state.txt file
23
+ aws s3 cp $stateFile $AWS_S3_BUCKET /database/state.txt
23
24
fi
24
25
25
- # Google Storage
26
+ # GCP
26
27
if [ " $CLOUDPROVIDER " == " gcp" ]; then
27
- # Upload to GS
28
- gsutil cp $backupFile $GCP_STORAGE_BUCKET /database/$backupFile
29
- # The file state.txt contain the latest version of DB path
30
- echo " $GCP_STORAGE_BUCKET /database/$backupFile " > $stateFile
31
- gsutil cp $stateFile $GCP_STORAGE_BUCKET /database/$stateFile
28
+ echo " $GCP_STORAGE_BUCKET /$cloud_backupFile " > $stateFile
29
+ # Upload db backup file
30
+ gsutil cp $local_backupFile $GCP_STORAGE_BUCKET /$cloud_backupFile
31
+ # Upload state.txt file
32
+ gsutil cp $stateFile $GCP_STORAGE_BUCKET /database/state.txt
33
+ fi
34
+
35
+ # Azure
36
+ if [ " $CLOUDPROVIDER " == " azure" ]; then
37
+ # Save the path file
38
+ echo " blob://$AZURE_STORAGE_ACCOUNT /$AZURE_CONTAINER_NAME /$cloud_backupFile " > $stateFile
39
+ # Upload db backup file
40
+ az storage blob upload \
41
+ --container-name $AZURE_CONTAINER_NAME \
42
+ --file $local_backupFile \
43
+ --name $cloud_backupFile \
44
+ --output table
45
+ # Upload state.txt file
46
+ az storage blob upload \
47
+ --container-name $AZURE_CONTAINER_NAME \
48
+ --file $stateFile \
49
+ --name database/state.txt \
50
+ --output table
32
51
fi
33
52
fi
34
53
0 commit comments