ディレクトリごとコピーするコマンド(UNIX)

 
<−戻る

 

 コピーするコマンドだったらcp -rやrcp -rがあるよ,と思うかも知れませんが,ここでは,別の方法で,すこし管理者向けのコピーの方法をお教えします.

 私には,システム管理者を行うにあたって,多大な影響を受けた人がいます.約7, 8年ほど前になりますが,当時,社内ではアメリカのソフトウェア・ベンダーと供に工場のシステムの開発を行っていました.そのベンダーの人たちは,さすがにアメリカの仕事の仕方と言う感じで,コンピュータを扱うエンジニアたちも,プログラマとシステム管理者とで完全に分業がされていました.プログラマはシステムの仕様に基づいて設計やプログラミングなどの開発作業を行います.システム管理者は,プログラマとの人数比からすると10:1程度でしたが,システムの開発環境を整え,コンピュータの運用に関わるインフラを整えます.この業務分担は,当時の私にとっては非常に印象的でした.

 システム管理者は,マシンを導入して,OSをインストールし,ネットワークをつなぎ,開発環境を整えます.開発ソースのバージョン・コントロールや,データ・バックアップのシステムを導入します.開発環境やテスト環境が整ったら,本番系のインフラも整えます.開発,テスト環境から,本番系へのデータコピーの方式や,バックアップの自動化などのスクリプトを書いて,システム全体の環境が使いやすいように整えていきます.もちろん,この環境でトラブルが起きるとまず,システム管理者が呼ばれて,解決します.

 私は,この業務を見て,非常に魅力を感じました.そして,そのシステム管理者ともかなり親しく付き合わせていただき,さまざまなシステム管理のノウハウを教えていただきました.そのころは,私がシステム管理者として,もっとも成長が著しく充実した時期だったと思います.

 当時教えてもらったコマンド類は,いまでは,陳腐化してしまったものが多いのですが,一番最初に教えてもらったコピー用のコマンドは,今でも使えると思います.SUN UNIX上で利用したものですが,LINUXなど他のUNIX OSでも利用できると思います.いずれも基本的には,cpやrcpでもほとんど同じ結果を出せます.こちらの場合,コピーしても日付が変更になりませんし,コピーの経過もわかりやすく,ファイル数が多い場合などに便利に使えます.

 

ディレクトリの中身を丸ごと同一のマシン上の他の場所にコピーするコマンド

tar cvf - . | (cd <target dir>; tar xvf - )

ディレクトリの中身を丸ごとリモートマシン上のディレクトリにコピーするコマンド

tar cvf - . |(rsh <remote host> 'cd <target dir>; tar xvf - ')

注:表記上は2行になってしまっていますが,実際には1行です.

 

良かったら,試してみて下さい. 

 

<−戻る

Last Update:03/04/30 , Wasabi