書き方例
例1:ssh経由でrsyncする場合
rsync -av -e 'ssh' /path/to/hoge.txt userA@xxx.xxx.xxx.xxx:/path/
例2:データ転送時に圧縮。1MBの帯域制限もかける
rsync -avz --bwlimit=1024 userA@xxx.xxx.xxx.xxx:/path/to/directory /path/
※前に書くのが送信元、後に書くのが送信先となる。
※送信元のパスの書き方だが、最後に/があるかどうかで振る舞いが変わるので注意。
/無 |
path/to/directory |
そのパスで指定されたディレクトリ本体がコピー |
/有 |
path/to/directory/ |
そのパスで指定されたディレクトリ配下のファイルがコピー |
※間違って想定と異なるディレクトリに影響を及ぼしたりしないように、一度ドライ実行することを推奨する
よく使うオプション
a |
ファイル属性やタイムスタンプ等を維持する |
v |
コピーしているファイルの詳細表示 |
r |
指定ディレクトリ配下を再帰的に取得 |
p |
パーミッションをそのままコピー |
t |
タイムスタンプをそのままコピー |
z |
圧縮して同期 |
u |
差分のみを同期 |
n |
ドライ実行 |
e |
ssh経由で同期。リモート側のrsyncを呼び出す際にroot権限で実行させたい場合は、--rsync-path='sudo rsync'のようにする。 |
--partial |
転送が途中で終わっても再開できるようにする |
--exclude |
除外対象を指定する |
--delete |
同期元の削除も反映する(nオプションでドライ実行して挙動確認推奨) |
--bwlimit |
帯域制限をかける |
その他
rsyncをdaemonとして起動しておくことで、上記のようにsshを経由せずにファイルを同期させることもできる。その場合は/etc/rsyncd.confの編集とrsyncdのdaemon起動が必要。
最終更新:2021年02月09日 22:14