ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.2569788 クーロン登録のpg_dump自動実行について
質問者:JACK_TOSHI  初めて、投稿させて頂きます。
postgreSQLのデータバックアップを自動で行おうとクーロンに登録し実行しました。ダンプファイルは出来るのですが、何故か中身が空です。
何か特別な設定等が、他にあるのでしょうか?
O/S : LinuxES4
postgreSQL: 7.4.7
ご教授宜しくお願い致します。
困り度:
  • 困っています
質問投稿日時:
06/11/29 15:01
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.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
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
06/11/29 16:15
この回答への補足anmochiさん、早々のレス有難う御座います。
25 17 * * * root /usr/local/pgsql/bin/pg_dump -U adm -h db -c -D admdata> /home/admdata_dump.sql
指定なしを root 指定に変更しても空のままです。
クーロンを使用せず打鍵するとダンプされるのですが?
何か変ですかね?
この回答へのお礼anmochiさんのレスが、ヒントになり解決出来ました。
25 17 * * * /usr/local/pgsql/bin/pg_dump -U adm -h db -c -D admdata> /home/admdata_dump.sql
ユーザーを未指定にし、-U のオプションを指定。
最初の投稿では、ユーザをログインユーザー指定、-U が未指定でした。
打鍵の場合、ログインユーザと同じなので-Uを指定しなくてもダンプがとれましたのであえて指定しませんでした。
anmochiさん、助かりました。
有難う御座いました。