Re: Creating an hourly backup - Mailing list pgsql-general

From
Subject Re: Creating an hourly backup
Date
Msg-id 00f501c47a2e$66cfdf80$2766f30a@development.greatgulfhomes.com
Whole thread Raw
In response to Creating an hourly backup  ("Jason Tesser" <JTesser@nbbc.edu>)
List pgsql-general
I have given the requested info below, but read this first:
1)  Check the permissions on the backup file, ensure that the user permissions are such that the
system user you are trying to restore with has permission to read the file
2)  Look at the actual backup file, ensure that there is a backup in it (it should contain SQL
statements to restore your schema and then COPY commands to restore your data)
3)  Your script is complex because it uses expect, I use "su" to switch to the user who is the owner
of the database (in this case postgres) at which point the pg_dump command does not prompt for
username/password (assuming your pg_hba.conf is the default that accepts local connections as
trusted for the username).


Anyway, I trust my hardware for more then an hour, but my cron backup script runs from the root
cron, and looks like this:

su - postgres -c 'pg_dumpall > /backup/postgresdump'

Now you want to do just a specific database perhaps, in which case you likely want:

su - postgres -c 'pg_dump $database > /backup/postgresdump'


Terry Fielder
Manager Software Development and Deployment
Great Gulf Homes / Ashton Woods Homes
terry@greatgulfhomes.com
Fax: (416) 441-9085


> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org]On Behalf Of Jason Tesser
> Sent: Wednesday, August 04, 2004 9:29 AM
> To: pgsql-general@postgresql.org
> Subject: [GENERAL] Creating an hourly backup
>
>
> I am trying to get an hourly backup of postgres.  I tried using the
> script below
> but when I try to restore off the dumped file it throws an error that
> says it
> cannot read the data [-1].  If I just type in pg_dump -Fc --file=***
> username=**** database
> it restores fine.  So something is going on with the
> except script, posted below.  Can someone send me a working
> cron or except script so I can get an hourly snapshot
> of our databases?
>
> #!/usr/bin/expect -f
>
> ###############################################
> ###############################################
> # Script to backup PostgreSQL Database
> # usage:
> # ./dbbackup.exp [username] [password] [dbname] # # Use this
> script in a
> cron job to do nightly # backups # Date format is MMHHDDMMYYYY
> ###############################################
> ###############################################
>
> set username [lindex $argv 0]
> set password [lindex $argv 1]
> set database [lindex $argv 2]
> set time [timestamp -format %M%H%d%m%Y]
>
> spawn {pg_dump} -Fc --username=dbdevel
> --file=/var/lib/pgsql/backups/$database.$time $database # expect
> "Username:"
> # send "$username\r"
> expect "Password:"
> send "$password\r"
> expect eof
>
> Jason Tesser
> Web/Multimedia Programmer
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

Attachment

pgsql-general by date:

Previous
From: "Jason Tesser"
Date:
Subject: Creating an hourly backup
Next
From: Oliver Elphick
Date:
Subject: Re: trouble with query