こんにちわ。
Linuxでcronを設定しPHPからexecで「pg_dump」を実行しようとしています。
エラーになり実行ができません。
設定は
/var/spool/cron ディレクトリに
『crontab -e -u postgres』でコマンドを実行し
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=''
HOME=/
08 19 * * * postgres /usr/bin/php /home/var/b_dump.php
とcrontabに記載しています。
コマンドの実行はrootユーザで
権限は777
にしています。
メールを届くようにしているのですが、届くメールは
『postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.』
と届きます。
googleで検索したのですが、解決方法がわかりません…。
読みにくい文章で申し訳ないのですが、解決方法のご教授を
お願いします。
No.3ベストアンサー
- 回答日時:
#1です。
なるほど。postgresというのはコマンドのつもりじゃなくて、実行ユーザ名指定のつもりだったんですね。
コマンドとしてはそれで良いでしょう。
>pg_dump: [archiver (db)] connection to database "postgres" failed: fe_sendauth: no password supplied
パスワードの指定が必要だが指定されていないというメッセージです。
>PHPのカテゴリに質問をした方がいいのかもしれませんが、
PHPは関係ありません。PostgreSQLのカテゴリで質問してください。
pg_dumpをちょっと調べてみましたが、-U でユーザ指定している例はみつからないですね。
何度も回答ありがとうございます。
もう少し自分で調べてみて、解決しなければ、
PostgreSQLのカテゴリで質問させて頂きます。
ありがとうございました。
No.2
- 回答日時:
おそらく /etc/crontab を見て設定されたのでしょうが、/etc/crontab と 各ユーザーごとのcrontabは書式が違っています。
以下、man 5 crontabからの引用
>各行には 5 つの時刻・日付フィールドがあり、
>(システムの crontab ファイルの場合) ユーザー名が続き
>さらにコマンドが続く。
つまり、システムのcrontabの場合のみ、ユーザー指定フィールドが存在します。
従って、amountainblastさんの設定の場合、ユーザーを指定しているつもりのところが、postgresコマンドを実行していることになりますね。
回答ありがとうごじあます。
ご指摘の通り ユーザー指定フィールドを をcrontabからとってみたら、違うエラーが届くようになりました。
現在は
50 09 * * * /usr/bin/php /home/var/b_dump.php
と設定しました。
Password:
pg_dump: [archiver (db)] connection to database "postgres" failed: fe_sendauth: no password supplied
とエラーが来るようになったのですが、このエラーだとpg_dumpのオプションの渡し方が悪いのでしょうか?
PHPソースは
exec("pg_dump -U postgres -Wtest01 -t postgres > {$b_data_txt}");
と記述しています。
PHPのカテゴリに質問をした方がいいのかもしれませんが、
もう少しご教授をお願いします。
No.1
- 回答日時:
『postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.』
訳します。
Postgresは、サーバー設定ファイルがどこにあるか見つけることが出来ません。
あなたは、起動オプションの --config-file か -D で設定ファイルを指定するか、PGDATA という環境変数で設定ファイルを指定する必要があります。
それ以前の問題として、postgresコマンドの引数に /usr/bin/php を指定しているのは間違っていると思います。意味不明のコマンドでは?
phpを実行するんですよね?
回答ありがとうごじあます。
このcronではphpを実行しようとしています。
phpのexecでpg_dumpを実行しようとしています。
ご指摘の通り /usr/bin/php をcrontabからとってみたのですが、
phpが実行されていません。
現在は
50 09 * * * /usr/bin/php /home/var/b_dump.php
と設定しました。
Password:
pg_dump: [archiver (db)] connection to database "postgres" failed: fe_sendauth: no password supplied
とエラーが来るようになったのですが、このエラーだとpg_dumpのオプションの渡し方が悪いのでしょうか?
PHPソースは
exec("pg_dump -U postgres -Wtest01 -t postgres > {$b_data_txt}");
と記述しています。
PHPのカテゴリに質問をした方がいいのかもしれませんが、
もう少しご教授をお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
-bash: ftp: コマンドが見つか...
-
TERATERMを使ってのSSH接続がで...
-
no valid signature found
-
空きIPアドレスを探す方法
-
expectを使用しない自動PW入力方法
-
DOSってコピー&ペーストってで...
-
IPアドレスだとPingが通るのに...
-
SunOS5.6クラッシュ後、再起動...
-
iscsiストレージへのアクセスに...
-
xntpdの時刻修正モード確認方法
-
CentOS ver6.2 i386について
-
TeXを使えるようにしたい
-
CentOSのrebootがきかない
-
コマンドプロンプトから別マシ...
-
LinuxOSをハードディスクごと完...
-
cshにてファイル名補完の設定の...
-
Mac OSX でDATの操作
-
Wordの中の「最近使ったドキュ...
-
Windows8でのツールバーの設定...
-
Windows7でRWINの値を設定可能...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IPアドレスだとPingが通るのに...
-
空きIPアドレスを探す方法
-
-bash: ftp: コマンドが見つか...
-
コマンドプロンプトから別マシ...
-
expectを使用しない自動PW入力方法
-
端末(ターミナル)から端末を...
-
net time コマンドについて
-
TERATERMを使ってのSSH接続がで...
-
ルータのホスト名を調べる
-
CentOSのrebootがきかない
-
ネームサーバからの応答なし。...
-
「Ctrl + C」が使用できない
-
他のログイン中のttyをリモート...
-
makeコマンド
-
Linuxのswap領域の表示について
-
cshにてファイル名補完の設定の...
-
システムプロパティ情報をコマ...
-
デュアルモニターでスクリーン...
-
コマンドプロンプトからリモー...
-
ネットワークのパラメータをコ...
おすすめ情報