scpをやめてrsyncを使うための予習
2021/09/28
リモートサーバーからファイルを持ってくる時にいつもscpコマンドを使っていたけど、scpコマンドは非推奨かつ時代遅れで今はrsyncコマンドがいいらしい
rsyncはアプリケーションをデプロイする時のコマンドの中で動いてるのを見かけたくらいでよくわかってない
ファイルのコピーというよりは同期のイメージだった
すぐすぐrsyncに移行というわけではないけど、scpでよく使うパターンだけ予習しておく
scpとrsyncのコマンドの違い
ファイル単体のコピーとディレクトリごとコピーの2つのパターンを確認する
事前準備
リモートサーバーに以下のような構造でディレクトリとファイルを用意しといた
$ tree .
.
└── sample_dir
└── sample_file.txt
1 directory, 1 file
ファイル単体のコピー
$ scp [email protected]:~/sample_dir/sample_file.txt ./
$ rsync [email protected]:~/sample_dir/sample_file.txt ./
ディレクトリごとコピー
$ scp -r [email protected]:~/sample_dir ./
$ rsync -r [email protected]:~/sample_dir ./
まとめ
基本一緒だった
唯一違うところは、-rを付けた時にディレクトリ名の後にスラッシュがある場合
$ scp -r [email protected]:~/sample_dir/ ./
$ ls
sample_dir
$ rsync -r [email protected]:~/sample_dir/ ./
$ ls
sample_file.txt
scpはスラッシュを付けてもディレクトリごとコピーされるが、rsyncはディレクトリ内のファイルがコピーされる