less than 1 minute read

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/

Updated: