Linuxでrsyncコマンドを使用してディレクトリとファイルをコピーする方法

Linuxのrsyncコマンドを使用して、コマンドラインからフォルダやファイルをコピーする

rsyncは、従来のコピー機能を超えた追加オプションを含む簡単なコマンドでディレクトリとファイルをコピーできるLinux用のファイル転送プログラムです。

rsyncの便利な機能の1つは、ディレクトリのコピーを使用するときに、システム的な方法でファイルを除外できることです。 そうすれば、rsyncを使用してファイルバックアップを作成している場合、本当にアーカイブしたいファイルだけをバックアップし、他のすべては避けることができます。

rsyncの例

rsyncコマンドを正しく使用するには、正しい構文に従う必要があります

rsync [オプション] ... [SRC] ... [DEST] rsync [オプション] ... [SRC] ... [USER @]ホスト:DEST rsync [オプション] ... [SRC] ... [ [USER @] HOST :: DEST rsync [オプション] ... [SRC] ... rsync:// [USER @]ホスト[:ポート] / DEST rsync [オプション] ... [USER @]ホスト:SRC [ DEST] rsync [オプション] ... [USER @] HOST :: SRC [DEST] rsync [オプション] ... rsync:// [USER @]ホスト[:ポート] / SRC [DEST]

上記のオプション空間は、多くのもので埋められます 。 完全なリストについては、rsync DocumentationページのOPTIONS SUMMARYセクションを参照してください。

rsyncをいくつかのオプションとともに使用する方法の例をいくつか示します:

ヒント:これらの例では、太字のテキストはコマンドの一部であるため変更できません。 ご存知のように、フォルダパスやその他のオプションは、私たちの具体的な例に特化しているので、使用するときには違ってくるでしょう。

rsync /home/jon/Desktop/data/*.jpg / home / jon / Desktop / backupdata /

この例では、/ data /フォルダのすべてのJPGファイルが、ユーザーJonのDesktopフォルダの/ backupdata /フォルダにコピーされます。

rsync --max-size = 2k / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

このrsyncの例は、2,048KBを超えるファイルをコピーしないように設定されているため、もう少し複雑です。 つまり、指定されたサイズより小さいファイルをコピーするだけです。 k、m、またはgを使用して1,024の乗数でキロバイト、メガバイト、およびギガバイト、またはkbmb 、またはgbを使用して1,000を使用できます。

rsync --min-size = 30mb / home / jon /デスクトップ/データ/ / home / jon / Desktop / backupdata /

上記のように--min-sizeに対しても同じことができます。 この例では、rsyncは30 MB以上のファイルのみをコピーします。

rsync --min-size = 30mb --progress / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

30 MB以上のかなり大きいファイルをコピーする場合、特にそれらのファイル数が多い場合は、コマンドがフリーズしていると仮定するのではなく、コピー機能の進行状況を確認することができます。 そのような場合は、-- progressオプションを使用してプロセスが100%に達するのを見てください。

rsync - 再帰 / home / jon /デスクトップ/データ/ホーム/ jon /デスクトップ/ data2

--recursiveオプションは、例の/ data2 /フォルダのように、フォルダ全体を別の場所に簡単にコピーする方法を提供します。

rsync -r --exclude = "* .deb " / home / jon /デスクトップ/データ/ home / jon /デスクトップ/ backupdata

フォルダ全体をコピーすることもできますが、上の例のDEBファイルなど、特定のファイル拡張子のファイルは除外することができます。 今回は、前の例では/ data /フォルダ全体が/ backupdata /にコピーされていますが、すべてのDEBファイルはコピーから除外されています。