- ベストアンサー
クーロン登録のpg_dump自動実行について
初めて、投稿させて頂きます。 postgreSQLのデータバックアップを自動で行おうとクーロンに登録し実行しました。ダンプファイルは出来るのですが、何故か中身が空です。 何か特別な設定等が、他にあるのでしょうか? O/S : LinuxES4 postgreSQL: 7.4.7 ご教授宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
せめてcronの中身くらいは見せて欲しかった・・・・。 まぁ、状況から推測すると、次のような感じではないか。 1.cronはroot権限(少なくともpostgres権限じゃない)で動く。 2.cronから実行されたシェルではpg_dumpへのパスが通っていない。 3.なので null > backupfile となり、ファイル「backupfile」は作成されるが、DOSで言う「コマンドまたはファイル名が違います」状態で、何も追記されない。 もし、cronの奴が pg_dump hogehoge > backupfile になっていたら、 /usr/bin/pg_dump hogehoge > backupfile と、pg_dumpをフルパスで指定してあげると良いだろう。 ※あくまで推測です。はずしていたらごめん。 解決しなければどうせなので補足などで再び質問してください。その際、cronの中身、PostgreSQLはRPMかソースから入れたか、を挙げてくれればありがたい。
お礼
anmochiさんのレスが、ヒントになり解決出来ました。 25 17 * * * /usr/local/pgsql/bin/pg_dump -U adm -h db -c -D admdata> /home/admdata_dump.sql ユーザーを未指定にし、-U のオプションを指定。 最初の投稿では、ユーザをログインユーザー指定、-U が未指定でした。 打鍵の場合、ログインユーザと同じなので-Uを指定しなくてもダンプがとれましたのであえて指定しませんでした。 anmochiさん、助かりました。 有難う御座いました。
補足
anmochiさん、早々のレス有難う御座います。 25 17 * * * root /usr/local/pgsql/bin/pg_dump -U adm -h db -c -D admdata> /home/admdata_dump.sql 指定なしを root 指定に変更しても空のままです。 クーロンを使用せず打鍵するとダンプされるのですが? 何か変ですかね?