このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
bash:script:24_backup_shell [2022/01/21 11:26] – 作成 matsui | bash:script:24_backup_shell [2022/08/11 02:16] (現在) – matsui | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== 24 バックアップシェル ====== | + | ====== 24 バックアップシェル(backup.sh) |
Cronでバックアップ用シェルのメモ | Cronでバックアップ用シェルのメモ | ||
行 7: | 行 7: | ||
BACKUP_DIR=/ | BACKUP_DIR=/ | ||
- | BACKUP_LIST=/ | + | BACKUP_LIST=${BACKUP_DIR}/conf |
TAR_OP=" | TAR_OP=" | ||
usage_exit() { | usage_exit() { | ||
行 34: | 行 34: | ||
shift $(($OPTIND - 1)) | shift $(($OPTIND - 1)) | ||
- | #echo $OPTIND | ||
- | #echo $BAKHOST | ||
- | #echo $PERIOD | ||
- | #echo $LIST | ||
if [ -z $LIST ];then | if [ -z $LIST ];then | ||
LIST=${BAKHOST# | LIST=${BAKHOST# | ||
行 75: | 行 71: | ||
echo " | echo " | ||
period_check $PERIOD | period_check $PERIOD | ||
- | BK_DIR=$BACKUP_DIR/ | + | BK_DIR=$BACKUP_DIR/ |
- | | + | #for LINE in `cat $BKLIST` |
- | | + | while read LINE |
- | | + | |
do | do | ||
+ | if [ " | ||
+ | continue | ||
+ | fi | ||
+ | |||
+ | |||
echo " | echo " | ||
DIR=${LINE%: | DIR=${LINE%: | ||
FILE_NAME=${LINE# | FILE_NAME=${LINE# | ||
- | #echo "rsync -av $BAKHOST: | ||
dir_check $BK_DIR | dir_check $BK_DIR | ||
- | if [ " | + | if [ " |
+ | |||
+ | dir_check $BK_DIR/ | ||
+ | if [ " | ||
+ | ssh $BAKHOST " | ||
+ | else | ||
+ | ssh $BAKHOST " | ||
+ | fi | ||
+ | elif [ " | ||
##ssh $BAKHOST "tar -C $DIR $TAR_OP" | ##ssh $BAKHOST "tar -C $DIR $TAR_OP" | ||
- | echo "rsync -a $BAKHOST: | + | echo "rsync -aSH --inplace |
- | rsync -a $BAKHOST: | + | rsync -aSH --inplace |
else | else | ||
- | | + | echo "rsync -aSH --inplace |
- | #dir_check $BK_DIR$D | + | rsync -aSH --inplace |
- | | + | |
- | rsync -a $BAKHOST: | + | |
fi | fi | ||
- | done | + | done < $BKLIST |
} | } | ||
行 105: | 行 110: | ||
</ | </ | ||
+ | |||
+ | ===== conf file ===== | ||
+ | |||
+ | |||
+ | < | ||
+ | # cat / | ||
+ | |||
+ | ## directory rsync | ||
+ | / | ||
+ | |||
+ | ## file rsync | ||
+ | / | ||
+ | |||
+ | ## mysqldump all | ||
+ | mysql:all | ||
+ | |||
+ | ## mysqldump each db | ||
+ | # | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Cron ===== | ||
+ | |||
+ | < | ||
+ | # crontab -l | ||
+ | PATH=/ | ||
+ | |||
+ | 10 0 * * * backup.sh -H root@hogehost -l hogehost -p day > / | ||
+ | 10 1 1 * * backup.sh -H root@hogehost -l hogehost -p month > / | ||
+ | |||
+ | ## hosts に書いておくパターン | ||
+ | 10 0 * * * backup.sh -H hogehost -p day > / | ||
+ | 10 1 1 * * backup.sh -H hogehost -p month > / | ||
+ | |||
+ | </ | ||
{{tag> | {{tag> |