Skip to content

Instantly share code, notes, and snippets.

@iarp
Last active October 3, 2019 00:54
Show Gist options
  • Save iarp/e8283bdf41f1cc4e243eae8652c82228 to your computer and use it in GitHub Desktop.
Save iarp/e8283bdf41f1cc4e243eae8652c82228 to your computer and use it in GitHub Desktop.
Used to crontab backup a postgres database
TIMESTAMP=$(date +%Y-%m-%d-%H.%M.%S)
TMP_DIR="/tmp"
BACKUP_DIR="/home/iarp/backups"
DATABASE="orhc_tryouts"
USERNAME="orhc_tryouts"
HOSTNAME="localhost"
echo "Backing up $DATABASE"
FOLDER=$BACKUP_DIR/$DATABASE
mkdir -p $FOLDER
echo "Saving to $FOLDER"
FILENAME=$TIMESTAMP.sql
TMP_FILEPATH=$TMP_DIR/$FILENAME
TMP_FILEPATH_TGZ=$TMP_FILEPATH.tgz
echo "Dump DB $DATABASE to $TMP_FILEPATH"
pg_dump --clean -h $HOSTNAME -U $USERNAME $DATABASE > $TMP_FILEPATH
echo "gzipping $TMP_FILEPATH to $TMP_FILEPATH_TGZ"
tar czf $TMP_FILEPATH_TGZ -C $TMP_DIR $FILENAME
echo "Moving $TMP_FILEPATH_TGZ to $FOLDER"
mv $TMP_FILEPATH_TGZ $FOLDER
echo "Removing $TMP_FILEPATH"
rm $TMP_FILEPATH
echo "Removing versions older than 2 days from $BACKUP_DIR"
find $BACKUP_DIR/ -type f -iname "*.tgz" -mtime +2 -exec rm {} \;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment