NewsBlur-viq/docker/postgres/backup_postgres.sh
Samuel Clay 7870eee728 Merge branch 'master' into pro
* master:
  Moving pg basebackup to a backup role
  Adding a secondary postgres that starts from a pg_basebackup. Still needs testing.
  Adding timestamps to backup logs
  No TTY/input needed on backups.
  Paths are in different environments.
  Renaming postgresql backups
  Adding postgres restore command and updating backup script.
2022-05-02 11:42:52 -04:00

25 lines
1 KiB
Bash
Executable file

#!/usr/bin/env bash
now=$(date '+%Y-%m-%d-%H-%M')
BACKUP_FILENAME="backup_postgresql_${now}.sql"
BACKUP_PATH="/var/lib/postgresql/backups/"
UPLOAD_PATH="/srv/newsblur/docker/volumes/postgres/backups/"
BACKUP_FILE="${BACKUP_PATH}${BACKUP_FILENAME}"
UPLOAD_FILE="${UPLOAD_PATH}${BACKUP_FILENAME}"
echo $(date -u) "---> PG dumping - ${now}: ${BACKUP_FILE}"
sudo docker exec postgres sh -c "mkdir -p $BACKUP_PATH"
sudo docker exec postgres sh -c "/usr/lib/postgresql/13/bin/pg_dump -U newsblur -h 127.0.0.1 -Fc newsblur > $BACKUP_FILE"
echo $(date -u) " ---> Uploading postgres backup to S3"
sudo docker run --user 1000:1001 --rm \
-v /srv/newsblur:/srv/newsblur \
--network=host \
newsblur/newsblur_python3 \
python /srv/newsblur/utils/backups/backup_psql.py $UPLOAD_FILE
# Don't delete backup since the backup_mongo.py script will rm them
## rm /opt/mongo/newsblur/backup/backup_mongo_${now}.tgz
## rm /opt/mongo/newsblur/backup/backup_mongo_${now}
echo "\n$(date -u) ---> Finished uploading backups to S3"