- ベストアンサー
、cronのユーザは postgresでないとpg_dumpallが実行できません。
CronでPostgreSQLのデータベースをバックアップするにあたり pg_dumpallコマンドで実行させるのですが、cronのユーザは postgresでないと実行できません。 コマンドユーザーをrootにして、pg_dumpallを実行させたいのですが、何か良い方法はありますか? cronにはpg_dumpall直接書き、またはスクリプトでも構いません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 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)
ユーザーを変えるのであればsudoなどで対応してみては?