TimeMachineっぽいバックアップスクリプト

  • 投稿日:
  • by
  • カテゴリ:

自宅サーバのバックアップはこれだけ。TimeMachineっぽいバックアップをするスクリプトをdailyで走らせてる。もうちょっと頻度を上げてもたぶん容量消費のペースは変わらないと思うけど。環境によってはGNU parallelは外した方が良いかもしれない。

#!/bin/bash

# GNU parallel is needed.

suffix='.inProgress'
filter='^cgroup\|^dev\|^lost\|^media\|^mnt\|^net\|^opt\|^proc\|^sys\|^tmp\|^selinux'
hostname=`/bin/hostname`
dest='/opt/backups/'${hostname}'/'
latest=`ls -1 $dest| grep '^[0-9\-]*$' | tail -1`

ind=`date +%Y-%m-%d-%H%M%S`
mkdir $dest$ind$suffix

ls / | grep -v $filter | parallel -j+0 rsync --exclude='*chroot/proc*' -PaX --link-dest=$dest$latest '/'{} $dest$ind$suffix'/'

d=`date +%Y-%m-%d-%H%M%S`
mv $dest$ind$suffix $dest$d

rm -f $dest'Latest'
ln -s $dest$d $dest'Latest'