仕事でrsyncについていろいろ調べたのでメモします。
rsyncとは、ディレクトリやファイルをローカルまたはリモートで高速にコピーするコマンド。
フルバックアップや差分バックアップも可能。
よく使ったオプションは以下の通り。
rsync -rlptgov --stats --delete (Source_data) (destination_data)
- -r:ディレクトリ内を再帰的にコピー
- -l:シンボリックリンクを保持したままコピー
- -p:パーミッションを保持したままコピー
- -t:タイムスタンプを保持したままコピー
- -g:グループを保持したままコピー
- -o:オーナーを保持したままコピー
- -v:コピーするファイル名やバイト数などの情報を表示
- --stats:詳細なファイル数やバイト数などの情報を表示
- --delete:コピー元(Source_data)で削除されたファイルはコピー先で削除
また、リモート先が鍵認証だった場合は以下の通り。
rsync -e "ssh -i (key_path)" -rlptgovz --stats --delete (Source_data) (destination_data)
- -z:圧縮転送
また、以下のオプションを指定することで、短縮も可能。
- -a:-rlptgoDを指定したのと同じ。
- -D:デバイスファイルや特殊ファイルを保持したままコピー
【参考資料】
-
Linuxコマンド【 rsync 】高速なファイル同期(バックアップ) - Linux入門 - Webkaru
http://webkaru.net/linux/rsync-command/ -
UNIXの部屋 コマンド検索:rsync (*BSD/Linux)
http://x68000.q-e-d.net/~68user/unix/pickup?rsync
以上