電子書籍の厳選無料作品が豊富!

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

A 回答 (2件)

こんにちは。



http://www.atmarkit.co.jp/fdb/rensai/postgresql/ …
> 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/ …
http://akira.matrix.jp/index.php?date=2009-05-03

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

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!