Linux_Rsyncによるコピー


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

トップページ > Linux > Rsyncによるコピー

Rsyncによるコピー


転送レートを指定する

bwlimitオプションを使う。
rsync -vurl --delete --bwlimit=512 dir1/ /dir2
単位がKBPSなので注意。

変換表
100Mbps 12500KBps
10Mbps 1250KBps
1Mbps 125KBps
500kbps 62.5KBps

権限オプション

-o オーナー情報を維持 (rootのみ可能)
-g グループ情報を維持 (rootのみ可能)
-p 権限情報を維持

rsyncとディレクトリの権限


コピーしようとしたディレクトリにアクセス出来ないディレクトリがあると、エラーになってしまい、
何もコピーされない。

rsync -vurl --delete sample1/ sample2

rsync: opendir "/home/xxxx/temp/sample1/nuo" failed: Permission denied (13)
deleting sample1/nuo/
deleting sample1/hoge/
deleting sample1/foo/
deleting sample1/
IO error encountered -- skipping file deletion

sent 99 bytes  received 15 bytes  228.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]

そういう場合は、除外指定をすればコピーできるようになる。
仮に、sample1ディレクトリの構造が
sample1/
  hoge
  foo
  nuo
となっている場合で、nuoが読み込めない場合は
rsync -vurl --delete --exclude "/nuo" sample1/ sample2
とする。
 この場合、コピー後のsample2ディレクトリは
sample2/
  hoge
  foo
になる。

sample1ディレクトリを含めてコピーする場合は
rsync -vurl --delete --exclude "sample1/nuo" sample1 sample2
のように、除外のときもsample1から記述する。
コピー後のsample2のディレクトリは
sample2/
  sample1/
    hoge
    foo
となる。

(2013/5/23)