SSH経由でrsyncする方法とは?rsyncの基本的な使い方や各種オプションの使い方を紹介!

SSH経由でrsyncする方法とは?rsyncの基本的な使い方や各種オプションの使い方を紹介!のアイキャッチイメージ

SSH経由でrsyncする方法とは?


今回は、SSH経由でrsyncする方法について説明します。ここでは、WSL2(Windows Subsystem for Linux 2)のSUSE Linuxからubuntuに対してSSH経由でrsyncします。rsyncを使うと、ファイルやディレクトリを同期できます。

基本的な使い方から、各種オプションの使い方について紹介します。SSH経由でrsyncする方法に興味のある方はぜひご覧ください。

環境情報

WSL2のSUSE Linuxからubuntuに対してSSH経由でrsyncします。WSL2、SUSE Linux、ubuntuは、インストールしている前提とします。また、SUSE LinuxとubuntuはSSH接続可能な状態を前提とします。

ローカル(SUSE Linux)の情報は以下です。

リモート(ubuntu)の情報は以下です。

基本的な使い方

SSH経由でrsyncするには、「-e ssh」を付与します。リモートのファイルをローカルに同期するには、以下のように記述します。

sshコマンドのオプションを付与するには、以下のようにシングルクォーテーションで囲みます。

もちろん、ローカルをリモートに同期することもできます。

aオプション

aオプションを付与すれば、「-rlptgoD」オプション(–recursive –links –perms –times –group –owner –devices)を付与したのと同じ効果があります。基本的には付けておくとよいでしょう。

ここでは、ディレクトリの中身を同期してみます。リモートは以下の状態とします。

SSH経由でrsyncコマンドを実行します。

タイムスタンプやパーミッションが保持されたまま同期されていることが分かります。

vオプション

vオプションを付与すると、rsyncの詳細表示が表示されます。

excludeオプション

excludeオプションを付与すると、同期対象外を指定できます。リモートの状態は以下とします。

SSH経由でrsyncコマンドを実行します。ここでは、*.logを同期対象外とします。

ローカル側を確認すると、*.logファイルは同期されていません。

existingオプション

existingオプションを付与すると、存在するファイルのみ同期できます。リモートの状態は以下とします。test3.txtが削除されて、test4.txtが新規作成されました。

ローカルの状態は以下とします。

SSH経由でrsyncコマンドを実行します。

存在するファイル(test1.txt、test2.txt)のみが同期されています。

deleteオプション

deleteオプションを付与すると、削除ファイルも同期されます。リモートの状態は以下とします。

ローカルの状態は以下とします。

SSH経由でrsyncコマンドを実行します。

削除ファイルも含めて同期されました。

まとめ

いかがでしたでしょうか。WSL2のSUSE Linuxからubuntuに対してSSH経由でrsyncする方法を紹介しました。rsyncを使うとファイルやディレクトリを同期できます。基本的な使い方から、各種オプションの使い方を紹介しました。

ぜひご自身でコマンドを打ち込んで、理解を深めてください。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。