質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

3回答

2563閲覧

postgres 自動バックアップ

javabigineer

総合スコア87

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2016/01/12 04:54

PostgreSQL(9.3.4)、pgAdmin(1.18.1)、OS(Linux)にて
作成しているデータベース(asset)をバックアップしたいと考えています。

シェルを作成して、自動バックアップする運用を考えているのですが、実現方法がわかりません。
調査の結果、pg_dumpコマンドで行えそうなことはわかったのですが、
pg_dumpコマンドの使用方法が理解できず、悩んでいます。。
Linux系の知識が乏しいため基本的なことがわかっていないのかもしれませんが、
どなたか力を貸してください。

お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

shell

1#! /bin/bash 2DBHOME=/opt/databases 3BACKUPDIR=/mnt/s3 4DATE=`/bin/date +"%Y%m%d"` 5PGDUMP=${DBHOME}/postgresql/bin/pg_dump 6# 7${PGDUMP} -Fc database > ${BACKUPDIR}/database-${DATE}.pg_dump 8

こんな感じのスクリプトをcronで叩いています。

投稿2016/01/12 05:26

tsuntsun

総合スコア199

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javabigineer

2016/01/12 07:33

回答ありがとうございます。 一点確認ですが、最後の行の"database"はデータべース名を入力するという意味ですか?
tsuntsun

2016/01/12 12:11

はい、データベース名を指定します。
guest

0

ベストアンサー

順番に解決していきましょう。

pg_dumpコマンドの説明は
http://www.postgresql.jp/document/9.3/html/app-pgdump.html
にあります。

Linuxが分かっていないとのことですが、手動でバックアップpg_dumpコマンドを実行することは可能ですか?
それができないようでしたら、まずはコマンドラインの使い方を覚えましょう。
手動でpg_dumpが実行できるようになったら、取得したバックアップから復元できることも忘れずに確認しましょう。

手動でできるようになれば、YiLiさんが書かれているように、そのコマンドをcronにセットすると使えるようになるかと思います。

投稿2016/01/12 05:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javabigineer

2016/01/12 07:37

手動でバックアップpg_dumpコマンドを実行することができません。 「コマンドが見つかりません。」というメッセージが出力されます。。
退会済みユーザー

退会済みユーザー

2016/01/12 07:57

pg_dumpコマンドへのパスが通っていない状態ですね。 PostgreSQLがどこにインストールされているか分かりますか? 通常は、PostgreSQLのサーバと同じディレクトリに居るはずなので、そのディレクトリを直接指定してコマンドを呼び出すが、そのディレクトリへパスを通すと良いです。 パスが通っていないところにあるとすると、ソースからmakeしてインストールされたのでしょうか? /usr/local/pgsql/bin/pg_dump \ -U postgres \ --schema public \ --create \ --no-unlogged-table-data \ -j 2 \ --verbose \ --no-tablespaces \ --format=directory \ --file=${BAKDIR}/monthly/${DT} \ データベース名 とかになるかと思います。
guest

0

cronを利用して実現できると思います。
設定ガイドは下記URLを参照してください。
https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html

投稿2016/01/12 04:59

YiLi

総合スコア96

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問