Tools

scp の代わりとしての rsync コマンドとそのオプション

投稿日:2019年4月24日 更新日:

1. はじめに

scp コマンドというのは、ssh コマンドを内部で使って、ローカルホストとリモートホスト間でファイルをコピーするためのコマンドです。ssh コマンドは SSH という暗号化された安全なプロトコルを使って通信を行うコマンドなので、scp コマンドも安全であるということになっていました。

しかし、OpenSSH 8.0登場、scpよりsftpやrsyncプロトコルの利用を という記事にあるように、現在では scp コマンドが推奨されないようですので、その代わりに使える rsync コマンドとそのオプションを紹介します。

rsync コマンドもローカルホストとリモートホスト間でファイルをコピーするためのコマンドですが、どちらかというとバックアップ目的で使う印象がありましたし(前回からの差分だけコピーとかできます)、デフォルトでは暗号化が行われません。そのため 「ちょっとしたコピー」であれば scp コマンドを使う人が多かったのではないでしょうか。rsync でもオプションを使えば ssh の暗号化が使えますので、多少面倒ですが今後はこちらを使いましょう。

2. scp の代わりとしての rsync コマンドとそのオプション

rsync コマンドを使って、ローカルにあるファイルをリモートサーバーにコピーする場合のコマンドは以下となります。
(rsync コマンドのオプションはいろいろあるのですが、便利そうなのを付けておきました)

$ rsync -avzP -e <ローカルのファイルパス> <ユーザー名>@<サーバーのホスト名 or IPアドレス>:<パス>

SSHのポート番号を指定したい場合は、以下となります。

$ rsync -avzP -e "ssh -p <ポート番号>" <ローカルのファイルパス> <ユーザー名>@<サーバーのホスト名 or IPアドレス>:<パス>

リモートサーバー上のファイルをローカルにコピーする場合は、「ローカルのファイルパス」と「<ユーザー名>@<サーバーのホスト名 or IPアドレス>:<パス>」の位置を逆にします。

上記で指定しているオプションは以下となります。

 
オプション 説明
-a
  • アーカイブモードでコピーします。
  • -rlptgoD を指定したのと同じ効果になります。これはファイルの各属性を維持してコピーされたり、再帰的にコピーされたりといった、コピーする上で便利なオプションがまとめて指定できるオプションです。
-v
  • 処理している内容についての情報を表示します。
-z
  • データを圧縮して転送します。
-P
  • 進行状況を表示します。
-e
  • リモートシェルを指定します。
  • 分かりやすく言うと、遠隔地にあるサーバーにログインすることのできるコマンドを指定します。デフォルトでは ssh が指定されます。

📂-Tools

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

Web

エンコード、デコード、ハッシュを行うウェブページを作成しました

入力した文字列に対して、以下の変換処理を行う ウェブページ を作成しました。 各種エンコード処理 各種デコード処理 ハッシュ化 いろいろお試しください。 ? エンコード/デコード/ハッシュ

Windows 7 のターミナル設定(PowerShell編)

Windowsで何かコマンドを実行する場合、コマンドプロンプトではなく PowerShellを使うと便利なのですが、合わせていくつかのツールを導入すると更に使いやすくなります。 目次PowerShel …

Anki

Anki: 学習の流れを図にしました

Ankiにおける学習の流れを図にしました。

ICTリテラシー

WinMerge で Excel(Word,PowerPoint,PDF)ファイルを比較する

WinMerge で Excel ファイルや Wordファイルを比較する方法について説明します。

Windows

WSL のシンプルな導入手順(2019年1月版)

WSL (Windows Subsystem for Linux) の基本的な導入手順について書きます。 ここで最低限必要な使い方を理解した上で、サードパーティ製のターミナルエミュレータ(Cmder …