rsyncでハードリンクを使った差分コピー

  • /var/www/html … バックアップ対象フォルダ
  • /backup/html … 差分管理用一次領域
  • /backup/diff … 差分抽出先
# 最初の一回だけバックアップ対象の完全コピーを作っておく
# 念のためDRY-RUNで確認
rsync -n  -avp /var/www/html/ /backup/html
rsync -avp /var/www/html/ /backup/html

# /backup/htmlからの差分だけを/backup/diffに抽出する
# 念のためDRY-RUNで確認
rsync -n --delete -avp --link-dest=/backup/html /var/www/html/ /backup/diff
rsync --delete -avp --link-dest=/backup/html /var/www/html/ /backup/diff

# /backup/htmlから差分が発生しているファイルのみ新しいファイルになっていて変更がないファイルはハードリンク(inodeが同じ)になっていることを確認する。
ls -li /var/www/html
ls -li /backup/diff