Linuxでリモートファイルを再帰的にコピーする方法

How Copy Remote Files Recursively Linux



Linuxでリモートファイルをコピーする必要がある場合、2つの一般的なコマンドラインツール(scpとrsync)で作業を完了できます。このチュートリアルでは、scpおよびrsyncツールを使用してLinuxでリモートファイルを再帰的にコピーする方法について説明します。

前提条件

動作するSSH構成。







scpを使用してリモートファイルを再帰的にコピーする

ScpはSecureCopyの頭字語です。 scpツールは、セキュアシェルプロトコル(SSH)を使用してリモートコンピューターとの間でファイルを安全にコピーするために使用されます。



scpコマンドの基本的な構文は次のとおりです。



scp <オプション>> <ソース>> <行き先>>

ファイルを再帰的にコピーするには、 -NS オプション。





たとえば、次のコマンドは、/ projectsディレクトリの内容をリモートサーバーの/ backupディレクトリに再帰的にコピーします。リモートサーバー上の有効なユーザー名が必要です。

$scp -NS /プロジェクトredhat8@20.68.114.222:/バックアップ



図1-scpを使用してファイルをリモートサーバーに再帰的にコピーする

これは、/ backup / projectsディレクトリの内容をリモートサーバーからローカルマシン上のディレクトリに再帰的にコピーする別の例です。

$scp -NSredhat8@20.68.114.222:/バックアップ/プロジェクト/回復した

図2–scpを使用してリモートサーバーからファイルを再帰的にコピーする

rsyncを使用してリモートファイルを再帰的にコピーする

rsyncツール(リモート同期)は、ローカルコンピューターまたはリモートコンピューター間でファイルをコピー(同期)するために使用されます。 RsyncはSSHを使用して通信します。 rsyncコマンドの基本的な構文は次のとおりです。

rsync<オプション>> <ソース <行き先>>

ファイルを再帰的にコピーするオプションは、で示されます。 -NS

その他の推奨オプションは次のとおりです。

-に コピーされたファイルのプロパティを保持します

-v 詳細な出力を表示します

rsyncの非常に良い点の1つは、ソースディレクトリと宛先ディレクトリを比較し、違いのみをコピーすることです。この機能はネットワークデータの使用量を減らし、rsyncをデータのミラーリングとバックアップに適したツールにします。

以下は、/ projects2ディレクトリの内容をリモートサーバーの/ backup2ディレクトリに再帰的にコピーする例です。リモートサーバー上の有効なユーザー名が必要です。

rsync-rav /projects2 redhat8@20.68.114.222:/backup2

図3–rsyncを使用してファイルをリモートサーバーに再帰的にコピーする

次の例では、/ backup2 / projects2ディレクトリの内容をリモートサーバーからローカルマシンのディレクトリに再帰的にコピーします。

rsync-ravredhat8@20.68.114.222:/backup2/プロジェクト2/回復した2

図4–rsyncを使用してリモートサーバーからファイルを再帰的にコピーする

結論

このチュートリアルでは、scpおよびrsyncツールを使用してLinuxでファイルを再帰的にコピーする方法を示しました。ご意見をお聞かせください。