2007年12月27日木曜日

rsync+sshでのバックアップが途中で止まってしまう

外部サーバーのファイルを毎晩自宅サーバーにrsyncで自動バックアップしてるのですが、引っ越しをして回線が変わってから2分の1くらいの高い確率でバックアップが失敗しておりました。


ssh: connect to host example.com port 22: Connection timed out
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(453) [receiver=2.6.9]


というエラーメッセージを吐いて止まっています。
いろいろ調べてみたところ、rsyncはサイズの大きいファイルのバックアップが苦手なようで、圧縮オプション(-z)をつけているとさらにその確率が高まるんだそうです。

http://mztaro.agora-mc.com/item/117
http://lists.samba.org/archive/rsync/2006-February/014774.html

自分の場合、まさにこのケースにあてはまります。-z使ってるし、一番大きいファイルは200MB弱あります。
解決のためのキーワードが「bwlimit」と「timeout」であることが分かったので、さっそく調べてみる。
rsyncのマニュアルは、


--bwlimit=KBPS limit I/O bandwidth; KBytes per second
--timeout=TIME set I/O timeout in seconds


とりあえず「--bwlimit=8192 --timeout=600」にして実行してみると、、、成功!!
ひとまずこれでしばらく様子を見てみたいと思います。

※2008.01.08追記
その後、正月休み中も毎日自動でバックアップとっていましたが、すべて成功していました。

0 件のコメント:

コメントを投稿