Edited at

rsyncでinodeの節約バックアップ (--link-destオプション)

More than 1 year has passed since last update.


やりたいこと

rsyncで何日間分かのバックアップをとるときに、サーバのディスク容量(inode)とか節約したい


環境


サーバ構成

server01: データサーバ

server02: バックアップサーバ


対象データ(server01)


server01

$ ls -1 data

file1
file2


節約できてないやり方。


(1) ある日(10/22)のバックアップ


server01

$ rsync -a data/ server02:~/data_20171022



server02

$ ls -1 data_20171022/

file1
file2


(2) 次の日(10/23)のバックアップ


server01

$ rsync -a data/ server02:~/data_20171023



server02

$ ls -1 data_20171023/

file1
file2

バックアップできてるけど、inodeが22日と23日で違う


server02

$ ls -1i data_2017102*/

data_20171022/:
923274 file1
923275 file2

data_20171023/:
923277 file1
923278 file2



節約できてるやり方。


(1) ある日(10/22)のバックアップ

※ここは同じ


server01

$ rsync -a data/ server02:~/data_20171022



server02

$ ls -1 data_20171022/

file1
file2


(2) 次の日(10/23)のバックアップ

※--link-destを使用


server01

$rsync -a data/ server02:~/data_20171023 --link-dest=../data_20171022



server02

$ ls -1 data_20171023/

file1
file2

inodeが22日と23日で同じになって節約できた


server02

$ ls -1i data_2017102*/

data_20171022/:
1053235 file1
1053236 file2

data_20171023/:
1053235 file1
1053236 file2



備考


  • --link-destはバックアップするディレクトリからの相対パス

    →[追記] rsync対象が絶対パスなら--link-destに指定するパスは絶対ぱすでもいいような気もする。

  • -aオプションを付けなくてはだめ。(具体的には-t) ←これがわからなくて嵌った。