Collection-Scripts/sql-backup.sh

30 lines
1.0 KiB
Bash
Executable File

# sql-backup.sh
#!/bin/bash
# Use your health check url
HEALTHCHECK_URL="https://healthchecks.io/ping/{uuid}"
DBNAME=doggo_kaufen
DATE=$(date +"%Y%m%d_%H%M%S")
SQLFILE=$DBNAME-${DATE}.sql
BACKUP_PATH=/root/s3_backup/doggo.kaufen/sql
curl --retry 3 "$HEALTHCHECK_URL/start"
#mysqldump --opt --user={user} --password="{password}" $DBNAME > /root/s3_backup/doggo.kaufen/sql/$SQLFILE
docker-compose -f /root/docker/doggo.kaufen/docker-compose.yml exec db /usr/bin/mysqldump -u root --password={password} $DBNAME > $BACKUP_PATH/$SQLFILE
gzip $BACKUP_PATH/$SQLFILE
# Restic backup
export RESTIC_REPOSITORY="s3:https://eu-central-1.linodeobjects.com/{BucketName}"
export RESTIC_PASSWORD="{RESTIC_PASSWORD}"
export AWS_ACCESS_KEY_ID="{AWS_ACCESS_KEY_ID}"
export AWS_SECRET_ACCESS_KEY="{AWS_SECRET_ACCESS_KEY}"
restic backup $BACKUP_PATH --tag doggo_kaufen_sql
restic forget --tag doggo_kaufen_sql --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
# Remove local backup files
rm -f $BACKUP_PATH/$SQLFILE.gz
curl --retry 3 "$HEALTHCHECK_URL"