- PR -

シェルスクリプトが実行されない

1
投稿者投稿内容
Penguin
常連さん
会議室デビュー日: 2006/06/29
投稿数: 34
投稿日時: 2006-10-10 19:27
backup.sh という名前のシェルスクリプトを作りました。シェルスクリプトを保存したディレクトリに移動し、ファイルに実行権限を付けました。./backup.sh としたところ、以下のようなエラーがでました。これはなぜでしょうか・・?

[root@localhost local]#./backup.sh
 tar: Remoding leading '/' from member names
[postgres@localhost postgres]$

このように、スーパーユーザのrootで実行しても勝手にpostgresユーザに変換されてしまいます。

ちなみに、作ったシェルスクリプトは以下です。

-------------------------------------------------------
#! /bin/bash

tar cf /tmp/backup/backup.tar /opt/Non_data/Nonstorage
/opt/Non_data/AAA_Nonstorage

su - postgres

cd /home/postgres/postgresql-7.4.13

pg_dumpall > /tmp/backup/backup.tar

gzip /tmp/backup/backup.tar

------------------------------------------------------------

初めての作業で支離滅裂なスクリプトかと思います。

手前味噌で恐縮ですが、シェルスクリプトの中でユーザを変更する場合、 su - でよいのでしょうか。うまくいきません。そもそも、ファイル実体とデータベースクラスタをそれぞれ異なるコマンドでバックアップし、同じディレクトリにバックアップを取る場合、ユーザ変更は必須なのでしょうか・・ コマンド操作ではユーザpostgresを作ってからそこでデータベースを作ったものですから、シェルスクリプトの中でも必要かと思うのですが。。
 未熟な質問ですがご教授いただければ幸いです。よろしくお願いします。


[ メッセージ編集済み 編集者: ぽんた 編集日時 2006-10-10 19:31 ]

[ メッセージ編集済み 編集者: ぽんた 編集日時 2006-10-10 19:33 ]
tsutomu
会議室デビュー日: 2006/10/13
投稿数: 5
投稿日時: 2006-10-16 12:43
googleで検索したところ2つめに表示された掲示板に
似たメッセージの症例が投稿されていました。

http://search.luky.org/fol.2001/msg00268.html

同じ現象ではありませんか?
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2006-10-16 13:45
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34124&forum=10
Penguin
常連さん
会議室デビュー日: 2006/06/29
投稿数: 34
投稿日時: 2006-10-16 15:24
tsutomuさん
ありがとうございます。その症例は私も調べる中で発見し、参考にしていました。そのエラーは、tar コマンドのオプションに -P を使用することで解決されました。
Pオプションは、「アーカイブの作成時にオーナーやパーミッション情報を保持する」という意味でした。

shimixさん ご配慮ありがとうございました。
1

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