rsyncを使ったファイルの転送について簡単に使い方をまとめる.
rsyncとは
ファイルやディレクトリの同期を行う目的で開発されたアプリケーション.変更分を検出して差分のみを転送することでネットワーク経由でも効率的にバックアップ/同期が行えるのが大きな強みである.単発のデータ転送でも重いファイルなどはscp
を使うよりも早い他,ネットワークエラー等で中断した転送を再開できるため優れている.
基本的なrsyncの使い方
rsyncは,SRCのディレクトリから,DESTのディレクトリへファイルを転送する.これらは同じマシン内でもよいし,リモートマシンでもよい.
rsync [option] SRC DEST
オプションについて,-a
はアーカイブモードで,パーミッションやスタンプ,所有者情報を保持してコピーする.基本的につけることを推奨.
その他,転送時に情報をプリントしてくれるオプションとして,-v
の冗長モード,-h
の表示を人間に見やすい形式にするのが使いやすい.--progress
が途中経過示してくれる.
--partial
オプションを付けることで転送が途中で中断したファイルを保持できるため,再開時にまたゼロからやり直す必要がなくなる.
ローカルでのファイル転送
rsync -avh --progress --partial /path/to/src /path/to/dest
リモートからのファイル転送
rsync -avhz --progress --partial remote:/path/to/src /path/to/dest
-z
オプションは,ファイルを圧縮して転送するため,ネットワークを介した転送を行う際はつけておくと高速になる.逆のローカルからリモートへの転送も同様に実施できる.
–copy-links
中断した転送の再開
中断した転送を再開する場合は,--append
オプションを付けて付けて再度rsync
を実施する.
rsync -avhz --progress --partial --append remote:/path/to/src /path/to/dest
参考文献
https://karasuyamatengu.hatenadiary.org/entry/20111203/1322882652 https://yossi-note.com/explanation_of_basic_usage_and_options_of_rsync/