シェルスクリプトを作成
#!/bin/sh
#バックアップ シェルスクリプト
#バックアップフォルダ名は、YYYY-MM-DD-HHMMとする。
#例) 2012-01-01-0100
#crontabと連携し、日数を指定する
#2日分持つ
#ほんとはコピーとデリートのシェルスクリプトを分けた方がいい。
echo "File backup start at `date`"
days=2
# ○日前以前にアクセスされたファイルを消す。
echo "Old backup ($days days passed) delete"
find [targetFile] -atime +$days -print -exec rm -fR {} \;
# find [検索するディレクトリ] (option)
# -atime (+/-)n 最後にアクセスされたのが
# n日前のファイル・ディレクトリを検索(+n:n日以上、-n:n日以下)
# 今回は -mtime +$days としているので 設定日数変更可能。
# -print 検索結果の標準出力
# -fprint [file name] 検索結果を指定したファイルに書き出す
# -exec [command] {} \; 検索結果をコマンドに引き渡して実行
#ディレクトリレベルで個別設定し新規作成が必要な場合使用
#fdir="作成するディレクトリのフルパス"
#if [ ! -e $fdir ]
#then
# echo "create backup directory $fdir"
# mkdir $fdir
#fi
#任意のディレクトリに 2012-01-01-0100 のディレクトリを作成する。
dName=[バックアップ先のディレクトリフルパス]`date '+%Y-%m-%d-%H%M'`
echo "Copying to the BackupFile"
#バックアップ元のディレクトリを指定
#個別で指定する場合は、複数行記述する。
cp -R [バックアップ元ディレクトリフルパス] $dName
echo "DB backup end at `date`"
0 件のコメント:
コメントを投稿