• 締切済み

コマンドを加工してスクリプトに反映させるには?

現在、redhat6.2jでフルバックアップを取得するスクリプトを作成しています。 取得先はリモートマシンのDATです。 dumpコマンドを使用して取得すること、どの環境でも利用できるスクリプトを作成することが条件となっているのですが。。。 dumpコマンドでIPアドレス(ホスト名)を指定するところまでは出来たのですが、ファイルシステムを指定するところで悩んでいます。(環境によってファイルシステムの構成が異なるので) dfコマンドを加工して(ファイルシステムを変数などにして)dumpコマンドに反映させることは可能なんでしょうか??(可能だといわれたのですがやり方が分かりません。。。) 宜しくお願い致します。

みんなの回答

  • mikoshi
  • ベストアンサー率66% (2/3)
回答No.1

まず dump コマンド自体に、ダンプすべきファイルシステムを選択する -w と いうオプションがあるようです。 一応、df を使ってどの環境でも動くスクリプトということで、Boune Shell の スクリプトを考えてみました。 まず df に -t というオプションでファイルシステムのタイプが指定できる オプションがありますので、swap やら CDROM やらを除外するために それを利用するとします。 (Linux の df は 複数指定できないような…。FreeBSDではできました。) あとは `some_command` という記法で some_command を実行した結果が、 その値となることを利用するだけです。 dump のオプションを省略すると、以下になります。 --- #!/bin/sh for fs in `df -t ext2 | tail -n +2 | awk '{print $1}'` do dump $fs done ---

yuakiba
質問者

お礼

回答ありがとうございます。 質問日から時間が経ってしまっていたので、自分で何とか解決できました。。。 今後の参考にさせていただきます。 ありがとうございました。

関連するQ&A

  • リモートのDATにバックアップを取得する方法

    こんにちは。 リモートのDATにバックアップを取得したいのですが、その方法を教えて下さい。 今後はそれをスクリプトにして実行したいと考えています。 OSは両マシンともredhat6.2Jです。 ちなみにDATのあるマシンの「.rhosts」を編集するのはセキュリティ上どのような危険があるのでしょうか?? また、環境変数RSHをsshに指定するとsshでの接続が可になるというのはどのように指定すればよいのでしょうか?? 宜しくお願い致します。

  • ファイルの所有者だけを得るコマンドは?

    ファイルの所有者をユーザ名で取得するコマンドはないでしょうか。 目的は、シェルスクリプトの中で変数に代入して使いたいからです。 人間が見るためにはls -lでいいのですが、スクリプトの中で使用しようとするとsedで加工したり、ディレクトリ名を指定するとそのディレクトリ自体ではなくディレクトリ内のファイルが対象になってしまったりするので切り分けが面倒です。 ファイルの所有者だけが表示されるようなコマンドがあれば楽なのですが、そのようなコマンドはあるでしょうか? よろしくお願いいたします。

  • インポートコマンドが認識されません

    環境は、windows2000プラットフォームに、oracle9iです。 上記環境に、初期データベースを作成し、エクスポートされたダンプファイル(もらいもの)をインポートしようとしたんですが以下メッセージが出力され、ダンプファイルの取り込みができません。 インポートの方法は、以下です。 imp system/xxxxx@SID file=xxx.dmp fromuser=xxx touser=xxx 尚、toに指定しているユーザも作成してあります。 付与した権限は、connect、resourceです。 あと、インポートコマンド発行時に出力されるメッセージは次のようなものです。 SP2-0734: "imp system..."が開始するコマンドが不明です -残りの行は無視されました。 と出力されます。 上記メッセージから、impコマンドが認識されていないようにおもわれるのですが、ちょっと調べては見たのですが分からなかったので、ご教授ねがいます。

  • コマンドでデータベースの作成

    データベースをコマンドで作成しています。手順としては環境変数設定→oradimでパスワードファイルの作成→PFILEの作成→SPFILEの作成→インスタンス起動→CREATE DATABASEスクリプトとなっていました。しかし、 (1)環境変数設定 (2)PFILE作成 (3)(startup nomountコマンドはしていません)CREATE DATABASE実行 データベースが完成しました。と表示されました。現在はここまでの状態です。(データディクショナリ作成はまだです。) いくつか手順をとばしていることにきづいたのですが、もう一度最初からやり直したほうがいいですか?

  • Linuxシェルスクリプトを新しいコマンドにしたい

    Linux初級者です。よろしくお願いします。 OSにFedora Core 10, シェルにtcshを使用しています。 よく使用するコマンドを、まとめて一括で実行するように、 新しいコマンドを作成したくて、次のようなことをしていたのですが (1)ホームディレクトリにmybinというディレクトリを作成してPATHを通す。 (2)newbin1という以下の内容のシェルスクリプトを作成して、~/mybinに置いておく。 ================================== #!/bin/tcsh -f date #実行コマンド例1 echo $PATH #実行コマンド例2 ================================== (3)chmodコマンドでファイルに実行権限を与える。 上記のような方法で、作成したシェルスクリプト(newbin1)を PATHの通ったディレクトリ(~/mybin)に置いて、 > newbin1 とコマンドを呼び出しても、 "newbin1: コマンドが見つかりません" というエラーになってしまいます。 > which newbin1 とすると、ちゃんとファイルのパスが表示されるのですが、 *********************************************************** 自分で作成したシェルスクリプト(newbin1)を、 新しいコマンドとして認識させるにはどのようにすればよいのでしょうか。 また、そもそもシェルスクリプトを新しいコマンドにすることが 不可能だったりするんでしょうか? ************************************************************ 一括で実行したいコマンドが多い場合に、aliasで割り当てるのが大変なので、 できればaliasコマンドは使わずにできる方法を探しています。 基本的な質問かもしれませんが、よろしくお願い致します。

  • Redhat9にあるシェルスクリプトをWinXPのアプリから実行させる方法

    サーバ:Redhat9(ファイル[smb],DB[postgres]サーバ) クライアント:WinXPorWin2000 Redhat9でDBの一括処理をシェルスクリプトで作成しました。 自動処理はcrontabなどで行っていますが、手動処理も行いたいと思います (DBだけではなく、いろいろ活用する予定です) クライアントはVC6.0で作成されたアプリが動作しています。 (要はクライアントサーバシステムです) クライアントのアプリからボタンクリックでRedhatのシェルスクリプトを実行するよい方法はありますか? 現在案として (1)Redhatでシェルスクリプトを作成する (2)Windowsでrshコマンドを使用しシェルスクリプトを実行するバッチファイルを作成する (3)クライアントのアプリからバッチファイルを実行する という方法を考えていましたが、 rshのPermission deniedの問題で先に進めません。(この件は別スレッドで質問済みです) 何か良い案をご教授頂けますでしょうか? よろしくお願いします

  • pg_dumpのバッチ実行

    Windows2008環境で、PostgreSQL8xを開発しています。 日次のバックアップで、DOSバッチからpg_dumpコマンドを実行し、 ダンプを取りたいと思います。 そこでサンプルを作成し、実行したのですが、 途中パスワードを聞かれてしまい、止まってしまいます。 実行は下記のコマンドです。 >>pg_dump -U User01 -Fc testdb > backup.dat パスワードファイル、というファイルに 「ホスト名:ユーザ名:パスワード:DB」User01の エントリを追加したところ、パスワードが聞かれなくなりました。 これはマニュアルどおりだと思います。 ただファイルにユーザ毎にパスワードを書くのもどうもイマイチで 他の方法が無いか調べています。 ・パスワードを聞かれない管理ユーザで実行する ・実はpg_dumpでパスワードを指定するパラメータがある とかあれば良いのですが・・ パスワードファイル以外に、回避方法は ありますでしょうか?。

  • 【Linux】scpコマンドについて

    Linuxのscpコマンドについてです。 scpの[ユーザ名@リモートホスト名]の リモートホスト名の部分をIPv4アドレスで指定することは可能でしょうか? Red Hat Enterprise Linux 6です。

  • bash:あるプロセスをkillするスクリプト

    こんにちは。 RedHat9を使っています。 bashシェルで、コマンドの実行結果を変数にわたすには、どうしたらいいですか? mpg123でmp3を聞いています。 ターミナルからCtrl+Cを2回入力するのではなしに、スクリプトを走らせるだけで実行をとめたいです。 ps -A | grep 'mpg123' の実行結果を変数に入れて、killコマンドの引数にその変数をわたせばいいんじゃないかと思ったんですが。 すみません、よろしくおねがいします。

  • 【Windows】バッチスクリプトについて

    FTPサーバからデータを取得するバッチスクリプトを構成しようと思っています。 データ(ファイル)を2回取得し、1回目と2回目のデータ(ファイル)が同じかどうかのチェックし FTPサーバ上のデータ(ファイル)を削除するスクリプトを 以下手順で作成しようと思います。 1.環境変数の設定。 2.startログ出力 3.環境設定ファイル有無チェック 4.環境設定ファイル正当性チェック 5.環境設定ファイルから値の抽出 6.データ受信(1回目)パラメータファイル作成 7. データ受信処理の実行 8.データ受信処理の結果確認 9.作業フォルダ作成 10. データ受信(2回目)パラメータファイル作成 11.7~8と同じ 12.データチェック 13.FTPデータ削除用パラメータファイル作成 14.FTPデータ削除処理 15.FTPデータ削除処理結果の確認 16.rcv.dat作成 17.エラー処理 18.オリジナルデータをバックアップ 19.パラメータファイルをバックアップ 20.ログファイルをバックアップ 21.直近n回分を残して、バックアップファイルを削除 22.後処理(処理データのクリア)※念のため 23.endログ出力 ご参考までに、大まかなスクリプトをご教示いただければと思います。 とても大雑把な質問ではございますが、宜しくお願い致します。