最初に
サーバー間で、重いデータを転送したい時がある。
ローカルを経由するとバカみたいに通信を食う。
また、VPNでつないでる時なんかは、途中でVPNが落ちちゃったりしたら目も当てられない。
ということで、基本戦略は下記となる。
- 分割して送ること
- rsyncで同期すること
- 分割ファイルを戻すこと
(1) まず圧縮
tar zcvf hoge.tar.gz hoge # 圧縮
tar zcvf --use-compress-prog=pigz hoge.tar.gz hoge # 圧縮(並列版)
(2) 分割する (1000m = 1GB)
split -b 1000m hoge.tar.gz hoge.grd.tar.gz-
(3) rsyncする (スクリプトを準備しよう)
#!/bin/sh
rsync -av ./sender/ ?????@????????.jp:/work/hoge/reciever/
(4) 元に戻す
cat /work/hoge/reciever/hoge.tar.gz-* > hoge.tar.g
これで元に戻せた。この年になるまで、ファイル分割を知らなかった。
splitとcatのコンボが強力です。