少し前に、特定のサイズのファイルをコピーから除外する方法について説明しました。 rsyncを使用する Unixライクなシステムで。この方法は、コピープロセスをできるだけ早く完了するために、サイズの大きいファイルや重要度の低いファイルを除外するのに役立ちました。そのため、後で空き時間があるときに残りのファイルをコピーできます。今日、この簡単なガイドでは、 Rsyncを使用して特定のディレクトリをコピーから除外する方法を説明します。 およびcp Linuxのコマンド。
Linuxでのコピーから特定のディレクトリを除外する
このタスクを実行する方法はたくさんあります。次の2つの方法を知っています。
方法1-rsyncを使用する コマンド
ご存知かもしれませんが、Rsyncは、ファイルやフォルダをローカルにコピーしたり、リモートシェルを介して別のホストとの間でコピーしたり、リモートのrsyncデーモンとの間でコピーしたりするための高速で用途の広いツールです。 Rsyncには多くの便利なオプションがあります。便利なオプションの1つは、-excludeです。 。 除外の使用 オプションで、特定のファイル/ディレクトリをコピーから除外できます。例を使ってそれを行う方法を見てみましょう。
ostechnixというフォルダがあるとします。 。ディレクトリostechnix内には、 dir1という3つのサブディレクトリがあります。 、 dir2 、および dir3 。
$ ls ostechnix/ dir1 dir2 dir3
dir1をコピーします およびdir3 別の場所に移動しますが、 dir2には移動しません 。どのように?ここでrsyncが役立ちます。
rsyncコマンドを使用して特定のディレクトリをコピーから除外するには、次のコマンドを実行します。
$ rsync -av --progress ostechnix/ backup/ --exclude dir2
サンプル出力は次のようになります:
sending incremental file list ./ dir1/ dir1/file1.pdf 6,152,611 100% 58.36MB/s 0:00:00 (xfr#1, to-chk=7/11) dir1/file2 2,597,261 100% 14.83MB/s 0:00:00 (xfr#2, to-chk=6/11) dir1/file3.doc 88,143 100% 470.37kB/s 0:00:00 (xfr#3, to-chk=5/11) dir1/file4.txt 66,374 100% 330.71kB/s 0:00:00 (xfr#4, to-chk=4/11) dir3/ dir3/file1.pdf 6,152,611 100% 18.39MB/s 0:00:00 (xfr#5, to-chk=3/11) dir3/file2 2,597,261 100% 6.68MB/s 0:00:00 (xfr#6, to-chk=2/11) dir3/file3.doc 88,143 100% 224.16kB/s 0:00:00 (xfr#7, to-chk=1/11) dir3/file4.txt 66,374 100% 164.10kB/s 0:00:00 (xfr#8, to-chk=0/11) sent 17,813,759 bytes received 187 bytes 11,875,964.00 bytes/sec total size is 17,808,778 speedup is 1.00
上記のコマンドは、フォルダ ostechnixのすべての内容をコピーします フォルダ、つまりバックアップ 、ディレクトリ dir2を除外します コピーから。
または、以下と同じコマンドを使用することもできます。
$ rsync -av --progress --exclude="folder_to_exclude" source_dirctory dest_directory
例:
$ rsync -av --progress --exclude="dir2" ostechnix/ backup/
時間を節約するために、rsyncを使用してシステムをバックアップするときに、重要度の高いまたは重要度の低いディレクトリをコピーから除外または除外することをお勧めします。
詳細については、マニュアルページを確認してください。
$ man rsync
また読む:
- LinuxおよびUnixでネットワーク経由で大きなファイルをすばやく転送する方法
- コマンドラインからLinuxのディレクトリのサイズを確認する方法
方法2-cpを使用する コマンド
cpも使用できます 特定のディレクトリを除いて、ある場所から別の場所にフォルダをコピーするコマンド。
ソースディレクトリ、つまりこの場合はostechnixに移動します。
$ cd ostechnix/
そして、次のコマンドを実行します。
$ cp -r `ls -A | grep -v "dir2"` /home/sk/backup/
上記のコマンドは、現在のフォルダのすべてのコンテンツをコピーします ostechnix サブディレクトリdir2を除く それらを/home / sk / backup /に保存します ディレクトリ。
さらに簡単に、これは次のように実行できます。
$ cp -r !(dir2) /home/sk/backup/
詳細については、マニュアルページを確認してください。
$ man cp