rsync の使い方
rsync [options] source destination
rsync で注意が必要なところ
$ rsync -a /home/hoge/dir/ /mnt/disk/work/
$ rsync -a /home/hoge/dir /mnt/disk/work/"
source 側の "/home/hoge/dir/" と "/home/hoge/dir" で動作が異なります。
最後のスラッシュがない場合、rsyncはそのディレクトリも含めて全体をコピー
最後のスラッシュがある場合、rsyncはディレクトリの中身をコピーするがディレクトリそのものは作られません。
引数 -a は、いくつかの rsyncオプションを結合したもので、再帰コピーとシンボリックリンクコピーの各オプションを含み、グループと所有者の情報を保存します。ハードリンクも保存したい場合はハードリンクオプション ( -H )を追加します。
詳細情報の出力 ( -v )は、rsync実行中の処理について詳細情報が表示されます。 -v よりも -vv とするほうが表示される情報が多くなり、 -vvv とすれば rsync処理に関するすべての情報が表示されます。
rsync のデフォルトでは、オプションを指定しなくても隠しファイルのコピーが行われ、 --exclude=".*/" というオプションで隠しファイルのコピーを除外する事ができます。
--delteオプション
rsyncを最後に実行した後に削除したローカルファイルを外部システムからも削除されるようにしたい時は --deleteオプションを追加します。
$ rsync -av --delete /home/hoge/dir/ /mnt/disk/backup
リモートにコピーする場合
$ rsync -av --delete /home/hoge/dir/ user@hogehoge.com:dir/
--progressオプション
転送速度やコピーすべき残りファイル数を表示する場合は --progressオプションを使います。
リモートコピーを rsync で行う時に、パスワードをその都度入力したくない時は、 ssh鍵を使ってログインするように rsyncを設定します。
" ssh-keygen - dsa"を使ってssh鍵を生成し、
ssh-copy-id -i .ssh/id_dsa.pub user@hogehoge.com
リコーとホストに公開鍵をコピーします。
帯域を制限してファイルをコピーする
--bwlimitオプション
rsync でリモートコピーする時に、帯域を制限したい時は --bwlimit オプションを使います。
*scp で帯域制限をかけたい時は -l オプションを使います。
$scp -l 100k dump hoge:$PWD/dump2