以前の記事で/パーティションのファイルバックアップをとろうと思うと、/procやら/sysやら/devやらの除外が面倒で困っている話を書きました。
これには解決法がありました。mountコマンドを使います。
man mount(8)
>Linux 2.4.0 以降では、 ファイル階層の一部をどこか別の場所に再マウントすることができる。
>使い方は以下の通りである。
>
>mount --bind olddir newdir
>この呼び出しの後、同じ内容を 2 つの場所でアクセスできる。
>1 つのファイルを (1 つのファイル上に) 再マウントすることもできる。
>この呼び出しでは 1 つのファイルシステム (の一部) のみをアタッチするだけで、
>サブマウントはアタッチしない。
サブマウントはアタッチしない、というのがミソで、kernelが/配下に仮想的にマウントしている/proc等のディレクトリを除外できるということになります。
/パーティションをrdiff-backupでバックアップする例で言うと
# mkdir /mnt/backup-root
# mount --bind / /mnt/backup-root
# mkdir -p /var/backup/backup-root
# rdiff-backup /mnt/backup-root /var/backup/backup-root
で、シンボリックリンク込みでバックアップが取れることになります。
もしかすると、こうしたほうがいいのかもしれない
# rdiff-backup --exclude-special-files --include-symbolic-links \
/mnt/backup-root /var/backup-root