Linux 特定ディレクトリを定期的にバックアップ

CenoOS or Ubuntuで定期的にディレクトリごとバックアップを作成するスクリプト
/etc/cron.daily/を利用して定期的にバックアップ先をtar.gz形式で固めて最新版を上書きします。

バックアップディレクトリを作成する


$ mkdir /var/backup

スクリプト作成


$ vi backupdir


#!/bin/sh
BACKUP_DIR=/var/backup/
DATE=`/bin/date +%Y%m`

# /var/www 以下をディレクトリごとバックアップする
# 微妙に-Cと/の間にスペースはないので注意
tar czf ${BACKUP_DIR}${DATE}_BACKUP_DIR.tar.gz -C/var/ www/

スクリプトに実行権を追加してcron.dailyへ移動する


$ chmod a+x backupdir
$ mv backupdir /etc/cron.daily

日付を定義している場所を


DATE=`/bin/date +%Y%m%d`

とすると日付毎でファイル名が変更されるので過去のバックアップをとっておく場合に有効です。