- - PR -
シェルスクリプトが実行されない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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 ] |
|
投稿日時: 2006-10-16 12:43
googleで検索したところ2つめに表示された掲示板に
似たメッセージの症例が投稿されていました。 http://search.luky.org/fol.2001/msg00268.html 同じ現象ではありませんか? |
|
投稿日時: 2006-10-16 13:45
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34124&forum=10
|
|
投稿日時: 2006-10-16 15:24
tsutomuさん
ありがとうございます。その症例は私も調べる中で発見し、参考にしていました。そのエラーは、tar コマンドのオプションに -P を使用することで解決されました。 Pオプションは、「アーカイブの作成時にオーナーやパーミッション情報を保持する」という意味でした。 shimixさん ご配慮ありがとうございました。 |
1