http://www.rsnapshot.org/ から
rsnapshot is a filesystem snapshot utility for making backups of local and remote systems.
Using rsync and hard links, it is possible to keep multiple, full backups instantly available.
The disk space required is just a little more than the space of one full backup, plus incrementals.
ということらしい。btrfsやらzfsを用意しなくても使えるそうな感じ。
インストール †
[root@c ~]# yum --enablerepo=epel list |grep rsnapshot
rsnapshot.noarch 1.4.2-2.el7 epel
[root@c ~]# yum --enablerepo=epel install rsnapshot
っでどんなファイルがどこにインストールされたかは、rpm -qali | less で見れる。
rsnapshot設定 †
ここではバックアップ対象を「/var/log/」と「/etc/」として、
格納先を「/opt/rsnapshot/」配下としている。
設定ファイル
[root@c ~]# vi /etc/rsnapshot.conf
snapshot_root /opt/rsnapshot/ #バックアップファイルは/opt/rsnapshot/に置かれる。
interval hourly 24 # hourly(1時間ごと)のバックアップを24個保持する
interval daily 7 # daily(1日毎)のバックアップを7個保持する
interval weekly 4 # weekly(1週単位)のバックアップを4個保持する
backup /var/log/ localhost/log/ # このマシンの/var/logをlocalhost(このマシンの$snapshot_root/log/に置く)
backup /etc/ localhost/etc/ # このマシンの/etcをlocalhost (このマシンの$snapshot_root/etc/に置く)
最後の「backup」行の「localhost」はバックアップ対象のマシンが自分自身であることを意味します。
crontab設定 †
rsnapshotのinterval設定を意識した設定が必要。上記ではhourly,daily,weeklyと分かりやすいような名称だが実際はなんでもいい。ただcrontabの設定時に引数として使うだけだから。
ここでのcron設定は下記になる。
[root@c ~]# crontab -e
00 * * * * /usr/bin/rsnapshot hourly
10 23 * * * /usr/bin/rsnapshot daily
20 23 * * 4 /usr/bin/rsnapshot weekly
リモートからファイルバックアップ †
rsyncでバックアップしているので、複数台のリモートサーバの内容を一つのマシンに集約できる。

こんな感じで