こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

、cronのユーザは postgresでないとpg_dumpallが実行できません。

CronでPostgreSQLのデータベースをバックアップするにあたり
pg_dumpallコマンドで実行させるのですが、cronのユーザは postgresでないと実行できません。
コマンドユーザーをrootにして、pg_dumpallを実行させたいのですが、何か良い方法はありますか?
cronにはpg_dumpall直接書き、またはスクリプトでも構いません。

投稿日時 - 2009-11-04 19:37:50

QNo.5421994

すぐに回答ほしいです

質問者が選んだベストアンサー

こんにちは。

http://www.atmarkit.co.jp/fdb/rensai/postgresql/04/pgtune4-2.html
> pg_dump、pg_dumpallをcronで使う際の注意点
> pg_dump、pg_dumpall は、cronなどを利用して定期的に
> 実行されることが多いですが、その際、接続時にパスワードを
> 設定していると、それらは実行時にパスワードの入力待ち状態
> になってしまいます。
> これを防ぐには、コマンドを実行するユーザーのホームディレク
> トリに、以下の書式に従ってパスワードを記述したファイルを
> .pgpassという名前で配置しておいてください。

上記の場合、crontabにはHOME=/rootとして、明示的にホームディレクトリを書いておく必要があるかもしれません。またコマンドをフルパスで指定するか、PATH変数を入れる必要があるかもしれません。

他の方法として、-U (UserName) というオプションがあるようです。付けてPosgreSQLに接続させてみたらどうでしょう。

http://okwave.jp/qa2569788.html
http://www.postgresql.jp/document/pg803doc/html/app-pg-dumpall.html
http://akira.matrix.jp/index.php?date=2009-05-03

"pg_dump all crontab"で検索して他に情報がないか見てみて下さい。

投稿日時 - 2009-11-04 22:01:02

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

ユーザーを変えるのであればsudoなどで対応してみては?

投稿日時 - 2009-11-06 12:46:28

あなたにオススメの質問