amanda
, bacula
, or BackupPC
. Those are client/server systems featuring many options, whose configuration is rather difficult. Some of them provide user-friendly web interfaces to mitigate this. For non-enterprise systems, administrators might want to check out rsnapshot
or rdiff-backup
. Users can easily create backups of their filesystems with timeshift
, fsarchiver
, duplicity
, or even dd
.
apt-cache search backup
.
rsync
コマンド (同名のパッケージに含まれます) が使われています。
rsync
コマンドは今回のバックアップの内容を前回のバックアップの内容へのハードリンクの形で複製します。このおかげで、ハードドライブ領域を無駄に消費することがなくなります。そして rsync
プロセスは前回のバックアップ以降に変更されたファイルだけを置き換えていきます。このメカニズムにより、多くのバックアップを少ない領域に保存することが可能です。すべてのバックアップは即座に利用できる上に即座にアクセスできるので (たとえば、ネットワーク共有されたディレクトリの中に置かれるので)、ある日付同士の違いを素早く比較できます。
dirvish
プログラムを使えば、このバックアップメカニズムを簡単に実現できます。dirvish
プログラムはバックアップストレージ領域 (dirvish 用語で「bank」) を使い、「bank」の中に一連のバックアップファイルのタイムスタンプを付けたコピー (dirvish の文書ではこれらを「vault」と呼びます) を置きます。
/etc/dirvish/master.conf
ファイルに書かれています。/etc/dirvish/master.conf
ファイルでは、バックアップストレージ領域の場所、管理する「vault」のリスト、バックアップの保存期限のデフォルト値を定義します。残りの設定、すなわち vault でバックアップするファイルセットに固有の設定は bank/vault/dirvish/default.conf
ファイルに書かれています。
例 9.3 /etc/dirvish/master.conf
ファイル
bank: /backup exclude: lost+found/ core *~ Runall: root 22:00 expire-default: +15 days expire-rule: # 分 時 日 月 曜日 保存期限 * * * * 1 +3 months * * 1-7 * 1 +1 year * * 1-7 1,4,7,10 1
bank
setting indicates the directory in which the backups are stored. The exclude
setting allows you to indicate files (or file types) to exclude from the backup. The Runall
is a list of file sets to backup with a time-stamp for each set, which allows you to assign the correct date to the copy, in case the backup is not triggered at precisely the assigned time. You have to indicate a time just before the actual execution time (according to /etc/cron.d/dirvish
). Finally, the expire-default
and expire-rule
settings define the expiration policy for backups. The above example keeps forever backups that are generated on the first Sunday of each quarter, deletes after one year those from the first Sunday of each month, and after 3 months those from other Sundays. Other daily backups are kept for 15 days. The order of the rules does matter, Dirvish uses the last matching rule, or the expire-default
one if no other expire-rule
matches.
例 9.4 /backup/root/dirvish/default.conf
ファイル
client: rivendell.falcot.com tree: / xdev: 1 index: gzip image-default: %Y%m%d exclude: /var/cache/apt/archives/*.deb /var/cache/man/** /tmp/** /var/tmp/** *.bak
hostname
の出力するローカルマシンの名前を指定します) にあるルートツリーの内容 (tree: /
) から exclude
で指定したものを除外したファイルです。さらに、バックアップ対象は tree
と同一のファイルシステムの内容 (xdev: 1
) に制限されます。他のマウントポイントのファイルはバックアップされません。保存されたファイルのインデックス (index: gzip
) が生成され、イメージには現在の日付に関連する名前 (image-default: %Y%m%d
) が付けられます。
dirvish --vault vault --init
command. From there on the daily invocation of dirvish-runall
will automatically create a new backup copy just after having deleted those that expired.
dconf
(see 第 13.3.1 節「GNOME」 for more information about this).