###rsync --link-destオプション
コピーを作成する際に--link-destで指定したディレクトリにコピー元と同じファイルがあればコピー先に新たにファイルをコピーする代わりに--link-destにあるファイルからハードリンクを生成する。
###rsync --link-destを使用したインクリメンタルバックアップのよさ
差分バックアップ相当のバックアップ時間とディスク消費なのに作成される実体はフルバックアップそのものとなること。取得したバックアップ世代全てがフルバックアップなのでこのバックアップはいつの差分で、いつのフルバックアップの上にリストアすべきなのか、考える必要がない。
###ランサムウェア感染時
ランサムウェア感染PCからのアクセスによりファイルサーバ上の一部フォルダのファイルが暗号化されてしまった場合、気付かずに放置しておくと暗号化されたファイルがバックアップされてしまう。しかしインクリメンタルバックアップによってそれ以前のバックアップが暗号化ファイルで上書きされることはない。被害に気付くまでの期間を考慮した世代数分のインクリメンタルバックアップ履歴を確保しておけばよい。
###ランサムウェア感染後の復旧
ファイルサーババックアップの各世代を読み込み専用で公開しておけば、エンドユーザが自ら暗号化前の世代を見つけてリストアできる。各世代ともフルバックアップなので直観的な操作が可能。読み込み専用なのでランサムウェアに暗号化されることもない。
###世代ローテーション
バックアップの全ての世代がフルバックアップなので、単純に古い世代のディレクトリから削除すればよい。
###--link-dest指定先ディレクトリ
常に1世代前(直近)のバックアップディレクトリを指定すればハードリンクされる効率が高い。
###インクリメンタルバックアップの典型パターン
ログローテーションと同じ感覚で例えばこんな感じ。
rm -rf backup_dir.4
mv backup_dir.3 backup_dir.4
mv backup_dir.2 backup_dir.3
mv backup_dir.1 backup_dir.2
mv backup_dir.0 backup_dir.1
mv backup_dir backup_dir.0
rsync -a --link-dest ../backup_dir.0/ source_dir/ backup_dir
###制限事項
ファイルサーバ自身のランサムウェア感染には無力(Linuxに感染するランサムウェアもあるので)。
###参考