configファイルは超便利。
ssh や scpコマンドをめっちゃ簡単にしてくれる(scpでconfigファイルをつかう)。
それを「rsync」で使ってみる。
「rsync」はファイルやディレクトリをバックアップするのにとても便利らしい。
1.rsyncとは
ITmediaより転載。
ファイルやディレクトリをバックアップ/同期するためのツールは幾つも存在していますが、rsyncはとりわけ大きな人気を誇っているといってよいでしょう。変更分を検出して差分のみを転送することで、ネットワーク経由でも効率的にバックアップ/同期が行える点や、sshなどのリモートシェル経由での利用が可能な点など、機能の洗練度はさすがに登場から10年以上たっているだけのことはあります。バックアップやミラーリングなどの用途であれば、基本的にはコピー元とコピー先でわずかな違いしか発生しないはずで、ファイルの相違部分だけを転送するrsyncは効率的に機能します。
rsyncは、差分のみをバックアップ・同期するため、とても効率的ってことか。
記述方法はこう。
rsync [オプション] コピー元 コピー先
実際に使う場合はこう。
dir1ディレクトリごと、backupディレクトリ以下にコピーする。
rsync -av ~/jinja/ /media/disk/backup/
dir1ディレクトリ内「だけ」をコピーする場合はこう。
dir1の後の「/」をつけない。
rsync -av ~/jinja /media/disk/backup/
オプションは基本的に「-a」をつけとけば良い。
「-a」は元のパーミッションやグループなどを保持したまま同期できる。
「-v」は処理中の経過ファイルを見ることができる。
今回のやりたいこと。
rsyncは ssh を用いて、リモートホストへのバックアップもできる。
これを簡単化する。
rsync -av ~/jinja/ [email protected]:/home/runble1/www/jinja/
2.rsyncでconfigファイルを使う
基本は scpのときと同じで、この書き方。
rsync -av ~/jinja/ runble1:/home/runble1/www/jinja/
cronとかで自動化したら勝手にバックアップとってくれるのかな。
そこはまた今度。
参考
Command Technica:はじめてrsyncを使う方が知っておきたい6つのルール (2/2) – ITmedia エンタープライズ
コメント