Skip to content

Instantly share code, notes, and snippets.

@des1roer
Created June 18, 2015 06:58
Show Gist options
  • Save des1roer/df2d68416129915baaf3 to your computer and use it in GitHub Desktop.
Save des1roer/df2d68416129915baaf3 to your computer and use it in GitHub Desktop.
pgsqldump.py
#!/usr/bin/python
import os
from datetime import datetime, time, timedelta, date
import syslog
DB_HOST = 'localhost'
DB_USER = 'DB_USER'
DB_NAME = 'DB_NAME'
BACKUP_PATH = '/backups/'
DAYS_OVER = 10
passFileCmd = 'export PGPASSFILE=/root/.pgpass'
os.popen(passFileCmd)
date = datetime.now()
strDate = date.strftime('%d_%m_%Y')
oldDate = date - timedelta(days = DAYS_OVER)
strOldDate = oldDate.strftime('%d_%m_%Y')
currentBackupName = BACKUP_PATH + DB_NAME + "_" + strDate + ".gz"
dumpcmd = "pg_dump -U " + DB_USER + " -w -d " + DB_NAME + " | gzip >> " + currentBackupName
retval = os.popen(dumpcmd).read()
oldFile = BACKUP_PATH + DB_NAME + '_' + strOldDate + '.gz'
if(os.path.exists(oldFile)):
try:
os.remove(oldFile)
except OSError, e:
syslog.syslog(syslog.LOG_ERR, e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment