こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ディレクトリ構成、権限、グループのコピー

サーバのディレクトリ構成、権限、グループのコピーをしたいのですが、
よい方法を伝授していただきたく。

ファイルの転送は現時点では一切必要ないです、いずれ個別に配置していきます。
※ファイルが膨大にあるため、ファイル転送してから削除はNGです。

サーバは2台ともSolarisを利用しています。
転送は(A)Solaris9→(B)Solaris10.5です。

コマンドやパイプを駆使してできるものなのでしょうか。。。

投稿日時 - 2011-09-02 15:33:16

QNo.6984333

困ってます

質問者が選んだベストアンサー

基本的な事なので、なんでいまさら質問になるろのだろうと、他人から見ると不思議ちゃんに見える。


まあ、気を取り直して、

実現はいくつかのやり方があり、

http://www.cs.bgu.ac.il/~arik/usail/man/solaris/find.1.html
http://www.cs.bgu.ac.il/~arik/usail/man/solaris/tar.1.html

http://home.t00.itscom.net/happy7/solaris/man/tar.htm

いずれも、本家のサイトでないが、まあMANをそのままのせているので代用できるでしょう。

tarが一般的。これと、dd をこなせれば、UNIX系のマシンのメンテナンスは、ほとんどこなせる。と言うより、それらをしっていないと、メンテナンスはできないといっていい。つまり、基本中の基本なので、

どんな参考書にも載っているやり方。なので、ここで聞くのは、なんで? てことになる。

一応見ればわかるが、

fオプションの項目に

tar cf - . | (cd todir; tar xfBp -)

なんてある。これが基本的な、ミラーリングのサンプル。ミラーリングなのでACL(アクセス権など)も当然コピーされる。

この()の中でテストコマンド(test, [], (), &&, ||, ^ )を使って、Dirだったらコピーなんて事を組めばいいだけ。

試せばすぐわかること。やってみましょう。ちなみにB-SHellなら -d [ ] だっけ? tar だと一項目ごとに、|(パイプ)でわたされるので、対象のDir or fileが 復元される前に、CDされて、xオプションで解凍される。

マニュアルをよく読んで、実験してください。

find もオプションにDirをチェックするような物もあるし -execなど子プロセスとして動作させる方法あるので、Dirを検索して、tarに渡すなんて事もいいし, lsで検索してなんてこともいい。

まあ、基本はtar だからそこから、がんばりなさい。

ちなみに、コマンドなのでバッファーなどに限界がある。その辺をちゃんと理解しようね。

ここで説明するようなことでないので、マニュアルをちゃんと読もう。

本家のサイトに日本語もあるし、

だいだい、これを投稿するのだから、手元にSolarisがあるんですよね。だったら man で見るかヘルプで見てください。

それが最も早い。

この投稿がつりでないことを祈る。

この間釣りの質問に引っかかり、ストーカーが私を罵倒して、終わっている物があった。

あのようなところに投稿する人間性に問題があることが、分からない方なのでしょう。

投稿日時 - 2011-09-02 16:25:38

補足

つりじゃーないです。
俺の書いている内容が意味不明ですね、これじゃわからんですわ。失礼しました。

サーバAにあるディレクトリ構成をサーバBに構築するのが目的です。
サーバAにファイルが大量にあるため、ディレクトリのみ持ってくることが出来れば楽だったのですが。

サーバAでディレクトリ構成と、権限、グループを記したファイルを作成して
サーバB側でファイルを読み込んでディレクトリを作成する、シェルを組みました。

リモートで接続しているのでマニュアルは手元にないです。
外部にも接続できない環境なのと、辞書片手にmanを訳しても
時間がかかってたので投稿した次第です。
そんなことは書いてないのでツッコミは当然ですね。

最後のつりの話は本投稿には関係ないです。
釣りの質問だと思うなら投稿しなければよいのに。
ちょっとさみしい人ですね、かわいそう。

投稿日時 - 2011-09-20 21:57:37

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

「サーバのディレクトリ構成、権限、グループのコピーをしたい」けど「ファイルの転送は現時点では一切必要ない」ってどういう状況なんでしょうか? 特に「ディレクトリ構成をコピーする」けど「ファイルをコピーしない」っていうのがよくわからん.

とりあえず「どのファイルの権限をどのファイルにコピーするのか」などがわからんと話にならんのだけど, その辺は大丈夫なの?

投稿日時 - 2011-09-03 00:01:25

お礼

すみません、質問内容が意味不明でした。

投稿日時 - 2011-09-20 21:58:13

ANo.2

大事な事を書くの忘れていました。

>コマンドやパイプを駆使してできるものなのでしょうか

ですよね。前回にも記載しましたが、

サンプルページ

http://x68000.q-e-d.net/~68user/unix/pickup?test

| test -d && ....


なんて、標準入力から受け取ったパスを評価すればいい。&&とは成功した場合、以下を実行すると言う事。

これもいくつかあるので、どれが正しいとはいえないが、

[ -d `tar .... `]; then とか

tar ..... | test -d && とか

まあ、いつ評価するのか、と言う問題だけだと思う。find、lsならフォルダーだけ検索してパスだけcp, mv, tar, mkdirに渡せばいい。

投稿日時 - 2011-09-02 16:47:55