• ベストアンサー

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

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

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

  • ベストアンサー
回答No.1

こんにちは。 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"で検索して他に情報がないか見てみて下さい。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

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

関連するQ&A