Linux でディレクトリ構造のみコピーする

概要

ディレクトリをそのままコピーするのじゃなくて、ディレクトリ構造のみをコピーしたいケースは無いででしょうか?

例えば、メールサーバーを移行した際に、ユーザーのメールボックスの領域だったり、Apacheでバーチャルホストを構築していてログディレクトリのみコピーしないとApacheを起動しないケースなど・・・

意外とあるかもしれないので、ディレクトリのみコピーする方法を紹介します

findとmkdirを組み合わせてコピー

ネットでディレクトリのみコピーとかで検索すると、よく検索結果にHITするケースです

下記のコマンドでは、/var/tmp/backup へ /home/log 以下のディレクトリをコピーしている。

実際に、Cent OS 7.xの環境で試したけどちゃんと動かなかったです。

rsyncでディレクトリのみコピー

findとmkdirだと、ちゃんと動かなかったので、rysncを利用してディレクトリのみコピーします。
コマンドは以下のようにすればOKです

rsync -avz –include “*/” –exclude “*” 【コピー元】 【コピー先】

例)/var/tmp/backup へ /home/log 以下のディレクトリ構造だけをコピーする。