仕事上必要になったので作成してみました。変数に代入するときのエスケープ処理がうまくできなくて半分力技。
このスクリプトの目的は
- 毎日 7 世代分のスナップショットを保持する
- 毎月 1 世代分のスナップショットを保持する
以下は毎日 7 世代分のスナップショットを保持するスクリプトの例。
#!/bin/bash
TARGET_LV=/dev/vg_str1/LogVol01
TARGET_LV_DIR=/dev/vg_str1/
LV_SIZE=20G
SNAPSHOT_NAME_PREFIX=snap-daily
current_time=`date +"%Y%m%d%H%M%S"`
count=`find ${TARGET_LV_DIR} -name "${SNAPSHOT_NAME_PREFIX}*" | wc -l`
if [ "${count}" -ge 7 ]; then
find ${TARGET_LV_DIR} -name "${SNAPSHOT_NAME_PREFIX}*" | sort | while read line; do
echo ${line} will be deleted
lvremove -f ${line}
if [ "${count}" -eq 7 ]; then
break
fi
let count="${count}-1"
done
fi
lvcreate --snapshot --size=${LV_SIZE} --name "${SNAPSHOT_NAME_PREFIX}-${current_time}" ${TARGET_LV}
crontab を編集する。
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/tripwire/sbin:/root/bin 0 5 * * * /root/lvbackup-daily.sh 0 0 1 * * /root/lvbackup-monthly.sh
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート