Saminnet-Search Article Wiki Forum Piwigo SNS Cloud vtiger Sugar
Postgres Backup 3

Postgres Backup 3

 
 
 
   
 
 
   
[root@linux ~]# mkdir -p /work/backup/pgsql 
[root@linux ~]# chown postgres:postgres /work/backup/pgsql 
[root@linux ~]# chmod 755 /work/backup/pgsql 
 
   
 
 
   
[root@linux ~]# su - postgres 
-bash-3.1$ vi pgsql-backup.sh 

#!/bin/sh

# 日付文字列
DATE=`date "+%Y%m%d"`
# パスの設定
PATH=/usr/local/sbin:/usr/bin:/bin
# バックアップDB
DB_NAME=testdb
# バックアップ先ディレクトリ
BKUP_DIR=/work/backup/pgsql

# testdbデータベースバックアップ
pg_dump -D DB_NAME > $BKUP_DIR/$DB_NAME_$DATE


-bash-3.1$ chmod 700 pgsql-backup.sh 
 
   
 
 
   
-bash-3.1$ crontab -e 
# 毎日 00:00 に自動実行します。
00 00 * * * /var/lib/pgsql/pgsql-backup.sh > /dev/null 2>&1
 
 
 
 
   
ここでは、testdb データベースをリストアします。
※ testdb データベースは上の方法で既にバックアップが取られているものとします。
 
   
[root@linux ~]# psql testdb < /work/backup/pgsql/testdb_20060725 
 
   
リストアを実行する前に、対象のデータベースはもちろん、ダンプされたデータベース内のオブジェクトを所有するユーザーや、そのオブジェクト上に権限を与えられたユーザーも存在していなければなりません。
 
 
 
 
   
上記で説明した手法では、データベースクラスタ全体をバックアップする際に扱いにくく不適切です。この理由で、pg_dumpall が提供されています。pg_dumpall は指定されたクラスタの各データベースのバックアップを行い、そして、ユーザーやグループなどのクラスタ全体にわたるデータを保持します。
このコマンドの基本的な使用法は
pg_dumpall > outfile
です。ダンプの結果は psql でリストアできます。
psql template1 < infile
リストア時に任意の既存データベース名を指定可能ですが、空のクラスタ内にリストアする場合は、template1 が唯一の選択肢です。なお、リストア時には、PostgreSQL 管理ユーザー ( postgres ) での実行が必要です。

ということで、これらを踏まえ、先に作成した pgsql-backup.sh を変更し、1週間に一度 pg_dumpall を実行するようにします。

 
   
-bash-3.1$ vi pgsql-backup.sh 
#!/bin/sh

# 日付文字列
DATE=`date "+%Y%m%d"`
# 曜日
WEEK=`date "+%w"`
# パスの設定
PATH=/usr/local/sbin:/usr/bin:/bin
# バックアップDB
DB_NAME=testdb
# バックアップ先ディレクトリ
BKUP_DIR=/work/backup/pgsql

# 日曜日 ( date "+%w" が "0" ) だったら、データベースクラスタ全体バックアップ
if [ "$WEEK" = "0" ]; then
    # データベースクラスタ全体バックアップ
    pg_dumpall > $BKUP_DIR/all_$DATE
else
    # testdbデータベースバックアップ
    pg_dump -D DB_NAME > $BKUP_DIR/$DB_NAME_$DATE
fi

Comments   

 
0 #1 Guest 2019-05-02 18:32
I do not know if it's just me or if perhaps everyone
else encountering issues with your website. It appears as if some of
the text within your posts are running off the screen. Can somebody
else please provide feedback and let me know
if this is happening to them too? This may be a issue with my web browser because I've
had this happen previously. Kudos

My blog post :: gamefly free trial
Quote
 

Articles by Date

Category Database

TweetTweet Share on LinkedInShare on LinkedIn Share on Google+Google+ Submit to RedditReddit Publish on WordPress WordPress Send emailSend email