シェル名 |
引数 |
リストファイル |
リストファイルの内容 |
log_backup.sh |
なし |
log_backup.lst |
ファイル名(フルパス) |
#!/bin/sh
########################################################
#
# ログファイルバックアップツール
#
# 用途: ログファイルのバックアップを行う。
# 任意の世代数だけ保存する
# 引数: なし
#
# 作成日: 2013/9/07
# 作成者:
#
########################################################
#----変数定義-------------------------------------------------
listfile=../etc/log_backup.lst #リストファイル
backup_path=../bkup
generation=2
#----内部関数定義---------------------------------------------
#----メイン処理-----------------------------------------------
#リストファイルの存在確認
ls -l ${listfile} > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "リストファイルが存在しません"
rc=1
exit ${rc}
fi
#バックアップ先が存在するか確認
ls -l ${backup_path} > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "バックアップ先が存在しません"
rc=2
exit ${rc}
fi
#ループ処理開始
while read logfile
do
#ファイルをバックアップ先にコピー
cp -p ${logfile} ${backup_path}/`basename ${logfile}`_`date +%Y%m%d` \
> /dev/null 2>&1
#コピーに失敗したらエラー終了
if [ $? -ne 0 ]; then
echo "バックアップ先へのコピーに失敗しました"
rc=3
exit ${rc}
fi
#指定された保存世代数を超えていたら古いファイルから削除
ls -1 ${backup_path} | grep `basename ${logfile}` | file_num=`wc -l`
if [ ${file_num} -gt ${generation} ]; then
echo "ああ"
fi
done < ${listfile}
最終更新:2014年03月22日 01:02