- - PR -
シェルスクリプトが実行されない
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-10 19:35
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:53
根本的に理解されていないようなので、スクリプトの作成以よりコマンド1つ1つ実行して確かめて見たらどうですか?
| ||||
|
投稿日時: 2006-10-10 20:03
こちらは解決済みということでいいんでしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34120&forum=10 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34119&forum=26 また、こちらは?? http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34123&forum=26 [ メッセージ編集済み 編集者: shimix 編集日時 2006-10-10 20:07 ] | ||||
|
投稿日時: 2006-10-10 21:16
Linuxsquare と Database どちらに載せるべきか迷い両方に同じものを載せています。間際らしくてすみません。
一つ一つコマンドは試しました。tar コマンドや pq_dump コマンドなどはできましたが、使うのはtar コマンドと pg_dumpall で、ただ今、pgdumpall コマンドの使い方を試作しているところです。 pg_dumpall コマンドのほうはまだ解決していません。 | ||||
|
投稿日時: 2006-10-11 06:11
>
>[root@localhost local]#./backup.sh > tar: Remoding leading '/' from member names >[postgres@localhost postgres]$ > >このように、スーパーユーザのrootで実行しても勝手にpostgresユーザに変換されてしまいます。 勝手にではなく、シェルの中でsuを使って postgres に切り替えていますけど... (suを実行した時点で、新たなシェルが起動されてしまうので、本来のシェルプロセスとは別の処理になります) man su で su の使い方を参照して -c オプションについて確認してみてください。 シェルの中でsuを使わないで、起動コマンドを # su - postgres -c /xxx/xxx/xxx/backup.sh という手もあるかな。 [ メッセージ編集済み 編集者: 非武装エリア 編集日時 2006-10-11 06:13 ] | ||||
|
投稿日時: 2006-10-11 09:34
非武装エリアさん
自分が行っていた設定がこのように反映されていたのですね・・・!! 気づかせていただきました。ありがとうございます。su コマンド、確認します。 | ||||
|
投稿日時: 2006-10-22 19:31
もしご存じでなければ、"マルチポスト"という言葉をGoogle等で調べてみてください。 | ||||
|
投稿日時: 2006-10-23 08:36
>su コマンド、確認します。
ん?コマンドって先に確認してから書くものじゃないの? どこかから引っ張ってきたものを動かそうとして動かない、 挙句の果てに他人にデバッグお願いしますというのは どうかと思いますよ。 |