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 user@xxx.xxx.xxx.xxx:~/sample_dir/sample_file.txt ./$ rsync user@xxx.xxx.xxx.xxx:~/sample_dir/sample_file.txt ./ディレクトリごとコピー
$ scp -r user@xxx.xxx.xxx.xxx:~/sample_dir ./$ rsync -r user@xxx.xxx.xxx.xxx:~/sample_dir ./まとめ
基本一緒だった
唯一違うところは、-rを付けた時にディレクトリ名の後にスラッシュがある場合
$ scp -r user@xxx.xxx.xxx.xxx:~/sample_dir/ ./
$ ls
sample_dir$ rsync -r user@xxx.xxx.xxx.xxx:~/sample_dir/ ./
$ ls
sample_file.txtscpはスラッシュを付けてもディレクトリごとコピーされるが、rsyncはディレクトリ内のファイルがコピーされる
