- PR -

pg_dumpall を実行したい

1
投稿者投稿内容
Penguin
常連さん
会議室デビュー日: 2006/06/29
投稿数: 34
投稿日時: 2006-10-10 18:45
初心者です。低レベルな質問ですが許してください!

今仕事でサーバのバックアップをしています。

*シェルスクリプトとcronで自動的なバックアップを作ります。
*バックアップ対象 ・プライマリストレージ
          ・PostgreSQLのデータベースクラスタ

まずは Linuxのコマンド操作でコマンドが使えるか確認・・と思い行ったところpg_dumpall で以下のようなエラーに。原因が何か分かりません。ご教授頂けたらと懇願しております。

[root@localhost backup]# pg_dumpall > backup.tar
bash: pg_dumpall: command not found
zume
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 93
投稿日時: 2006-10-10 19:34
こんばんは。

引用:

[root@localhost backup]# pg_dumpall > backup.tar
bash: pg_dumpall: command not found


pg_dumpallというコマンドが見つからないよと言われてます。
pg_dumpallのコマンドにPATHは通ってますか?(echo $PATHで確認)

※こういったエラーは平易な英語な事が多いので、じっくりと
 読んで見る事をお勧めします
Penguin
常連さん
会議室デビュー日: 2006/06/29
投稿数: 34
投稿日時: 2006-10-10 21:20
環境変数ですね。ありがとうございます。原因が何なのか分からなかったものですから。環境変数について勉強しようと思います!
Penguin
常連さん
会議室デビュー日: 2006/06/29
投稿数: 34
投稿日時: 2006-10-11 19:29
zume さん
PATHは確認しました。
そのPATHは.bashrc に追加しています。確かにそのPATHをたどっていくとpg_dumpall コマンドがありました。
だとするとpg_dumpallの実行は、どこのディレクトリからもできるはずですよね??? でも、できないんです。 まだ私は根本的な理解が伴ってないようです・・・。

シェルスクリプトにもPATHというのは記述するのでしょうか?
zume
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 93
投稿日時: 2006-10-11 22:57
こんばんは。

「でも、できないんです。」とありますが、どうできないんでしょうか?
エラーメッセージは出力されてませんか?

例えば、こんな感じのエラーとか...

pg_dumpall: could not connect to database "template1": FATAL: role "root" does not exist
Penguin
常連さん
会議室デビュー日: 2006/06/29
投稿数: 34
投稿日時: 2006-10-12 11:24

できないというのは、初めと同じく bash: pg_dumpall: command not found というメッセージです。 
試しにrootユーザではなくpostgres というアカウントで実行したところ以下のようなメッセージになりました。

[postgres@localhost postgresql-7.4.13]$ pg_dumpall > /tmp/backup/backup.tar
-bash: /tmp/backup/backup.tar: 許可がありません
Penguin
常連さん
会議室デビュー日: 2006/06/29
投稿数: 34
投稿日時: 2006-10-12 18:18
zume さん 自己解決しました。
バックアップ先のディレクトリにpostgresユーザの権限が読み取りのみになっていたのを書き込み実行も加えたらできました。

 シェルスクリプト実行時
tar: Removing leading '/' from member names というメッセージが出るのは気になりますが、無事バックアップできてるようです。 コメントありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)