postgresql backup

#!/bin/sh# Database backup script# Backup use postgres pg_dump command:# pg_dump -U <user> -Fc <db> > <DB_DUMP_FILE># To restore, use postgres pg_restore command:# pg_restore -d postgres <DB_DUMP_FILE>HOST_IP=`/sbin/ifconfig | sed -n s/.*inet addr:\([0-9.]\+\)\s.*/\1/p | head -n1`POSTGRES_HOME=/opt/postgresBACKUP_DIR=/backup/$HOST_IPBACKUP_FILENAME_PREFIX="db_backup_"CURRENT_TIME=`date +%Y-%m-%d_%H%M%S`KEEP_DAYS=30mkdir -p $BACKUP_DIRBACKUP_FILE=$BACKUP_DIR/$BACKUP_FILENAME_PREFIX$CURRENT_TIME.dumpecho "`date` starting database backup: $BACKUP_FILE"#full database backup$POSTGRES_HOME/bin/pg_dump -U postgres -Fc postgres > $BACKUP_FILEecho "`date` database backup completed: $BACKUP_FILE"#delete files older than $KEEP_DAYSfind $BACKUP_DIR -mtime +$KEEP_DAYS -exec rm {} \;

 

相关文章