以前、ディスクのバックアップ関係で、rsync
コマンドについてサラッと書きましたが、今回はrsync
の便利な機能、主に特定のフォルダやディレクトリを除外する、除外リストについてまとめたいと思います。
rsync
の基本的な書き方やオプションについては、過去記事でも紹介していますので参考にしてみてください。
この前のバックアップ用のHDDが5、6年ぶりに突然死した件で、その時起動しなくなったトラブルの話を書き忘れていたので、ここで新たに追記します。その時のトラブルと言うのは、アンマウントして再起動を実行したら、emergency modeで起動しなくなった時のお話です。emergency modeで起動できない! Amazonで新しく購入したHDDが届くまで、とりあえず先に故障したHDDを外しておこうと思い、umountコマンドでアンマウントして電源を切り、HDDを抜き取り再び起動したところ、いつまで経ってもSSHで接続できず、仕方なくvSphere Clientの... ESXi上のCentOS 7で壊れたディスクをアンマウントしたら起動せず - Minory |
5、6年ぶりにバックアップ用のHDDが壊れたので交換しました。ただ交換するだけでなく、自宅のファイルサーバーとして使用しているESXiのゲストCentOSにマウントします。久しぶりにマウントしたのですが、やり方をすっかり忘れていましたのでメモっておきます。ESXiホストでHDDの仮想化まずは、新しく買ってきたHDDをWindowsでも使えるようにNTFSでフォーマットしておきましょう。そして、故障したHDDをゲストでアンマウントし、umount /mnt/backupvSphere Clientを開き、ESXiホストの>>から、故障した仮想ディスクも削除しておきまし... NTFSの内臓HDDをESXiのゲスト(CentOS 7)でマウントする方法 - Minory |
除外リストの2つの書き方
rsync
で除外するファイルやディレクトリを指定するには2つのオプションが用意されています。
1つは、rsync
コマンドのオプションに直接入力する方法。
もう1つは、除外リストファイルを作成し、そのファイルをrsync
コマンドで指定する方法です。
実際のオプションは以下の2つです。
rsync --exclude [ファイル名 or ディレクトリ名]
rsync --exclude-from [除外リストファイル名]
では、以下のサイトを参考に実際の設定例を見ていきましょう。
Please Wait... | Cloudflare - linuxize.com |
–exclude [ファイル名 or ディレクトリ名]
このオプションは、普通に除外したいファイルやフォルダを指定します。
ファイルを指定する場合は、
rsync -a --exclude 'file.txt' src_directory/ dst_directory/
ディレクトリを指定する場合は、
rsync -a --exclude 'dir' src_directory/ dst_directory/
また、ワイルドカードを使用して特定のディレクトリ配下や拡張子を指定したり。
rsync -a --exclude 'dir/*' src_directory/ dst_directory/
rsync -a --exclude '*.jpg' src_directory/ dst_directory/
ここまでは特に説明の必要はないと思います。
–exclude-from [除外リストファイル名]
次に、除外リストファイルを用意した場合です。
例えば、[exclude-file.txt]という名前の除外リストファイルを作成し、中身を以下のように記載しているとします。
file1.txt
dir1/*
dir2
--exclude-from
オプションで指定する際はこのようになります。
rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/
こうすることで、後で除外リストを変更したい場合は、コマンドは書き換えずにファイルの内容だけ書き換えれば済むので、除外リストの管理が楽になります!
ちなみに、同じ内容を--exclude
オプションを使って書こうとすると、このようになります。。
rsync -a --exclude={'file1.txt','dir1/*','dir2'} src_directory/ dst_directory/
指定するファイルやディレクトリ少ないうちは、これでも良いかもしれませんが、増えてくると管理が面倒になりますね…。
以上です。
rsync
はバックアップにとても便利ですので、ぜひ使ってみてください!
- Original:https://minory.org/rsync-exclude.html
- Source:Minory
- Author:管理者