1

もともとこれはdb管理の問題だと思っていましたが、線が少しぼやけてきたと思います。ここでは、これを厳密にスクリプトの問題として扱います。さらに背景情報が必要な場合は、ServerFault に投稿しました。

https://serverfault.com/questions/511780/postgresql-pgdump-script-on-rhel5-failed-fe-sendauth-no-password-supplieddat

私のスクリプト

物事を単純にするために、元のスクリプトをこれに要約しました。これは、pg_dump_scriptという名前の .sh にあるものです。

/home/myusername/lappstack-1.2-5/postgresql/bin/pg_dump --host=127.0.0.1 --port=5433 --username=myusername mydbname

これを実行すると、次のエラーが表示されます。

$ bash pg_dump_script.sh
Password:
" does not exist  database "corenection to database "mydbname

スクリプト ファイルの行をコピーして貼り付け、コマンド ラインから実行すると、すべて正常に動作します。

スクリプト ファイルのアクセス許可は次のとおりです。

-rwxr-xr-x

I used chmod 755

ここで何が間違っているのかわかりませんか?私はスクリプトの専門家ではありませんが、コンソールから実行できれば、もちろんスクリプトからでも問題なく実行できると思いました。情報が必要な場合はお知らせください。私はこれをシンプルにしようとしています。

アップデート

すべてのパラメータを削除しました。これは、.sh 内のすべてのテキストです。

/home/myusername/lappstack-1.2-5/postgresql/bin/pg_dump

次のエラーが表示されます。

    $ ./pg_dump_script.sh
: No such file or directoryine 1: /home/myusername/lappstack-1.2-5/postgresql/bin/pg_dump
: command not foundst.sh: line 2:
4

1 に答える 1

3

ファイルで実行dos2unixして、.sh適切な UN*X 行末に変換すると、動作するはずです。

dos2unix pg_dump_script.sh

チェックを付けて編集するときは、編集モードviになっていないことを確認してください。dosCR/LF を含む元のテキスト ファイルから開始すると、特に指定しない限り、viは自動的にモードに入ります。dos

于 2013-05-31T16:13:54.253 に答える