期間指定でバックアップを削除する。

返信する
choco
管理人
記事: 279
登録日時: 2011年5月30日(月) 10:44

期間指定でバックアップを削除する。

投稿記事 by choco »

#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

# バックアップを保持する日数
KEEPDAY=30

# 削除する日付のディレクトリ名を生成
RMDIR=`date --date="$KEEPDAY day ago" +'%Y%m%d'`

# Aipoのバックアップ先
B_DIR=/usr/local/aipo/backup/


cd $B_DIR

# バックアップディレクトリの階層から、バックアップディレクトリ一覧を取得
for DELDIR in `find ${B_DIR}* -type d -name "[0-9]*" -prune` ;
do
# ディレクトリの名前から、バックアップ日時を特定する
D_DATE=`echo $DELDIR | sed -e "s/.*\([0-9]\{8\}\)[0-9]\{5\}$/\1/g"`

# 日付の比較
if [ ` expr $D_DATE + 0` -le ` expr $RMDIR + 0 ` ] ; then

#ファイル削除
rm -rf $DELDIR
fi
done;
返信する