简单但实用的档案压缩备份策略

简单来说,就是先产生资料 -> 压缩 -> 测试压缩档是否成功 -> 删除原始档

#!/bin/bash

SERVER_PREFIX=$(hostname)
DB_NAME_MARIADB=mariadb

BACKUP_ROOT=/backup_storage/server-a
EXT_SQL=sql
EXT_TAR_BZ2=tar.bz2

BAK_DATE=$(date +%F)

# System config backup setting
SERVER_CONFIG_PATH=/etc
SERVER_CONFIG_BAK_PATH=$BACKUP_ROOT/config

# Backup command for SERVER config
FILENAME_CONFIG=${SERVER_CONFIG_BAK_PATH}/${SERVER_PREFIX}_serverconfig_backup_${BAK_DATE}.tar.bz2
sudo tar jcvf $FILENAME_CONFIG $SERVER_CONFIG_PATH

# Database backup setting
DB_BAK_PATH=$BACKUP_ROOT/db
DB_FULLBAK_PATH=$BACKUP_ROOT/db_fullbackup

# Full Backup command for Mariadb
FILE_NAME_FULLBAK=${SERVER_PREFIX}_${DB_NAME_MARIADB}_fullbackup_${BAK_DATE}
sudo mysqldump --all-databases --single-transaction -quick --lock-tables=fales > $DB_FULLBAK_PATH/$FILE_NAME_FULLBAK.$EXT_SQL -u root -p<輸入你的 root 密碼>
tar jcvf $DB_FULLBAK_PATH/$FILE_NAME_FULLBAK.$EXT_TAR_BZ2 $DB_FULLBAK_PATH/$FILE_NAME_FULLBAK.$EXT_SQL
if [  $? -eq 0 ]; then
    rm $DB_FULLBAK_PATH/$FILE_NAME_FULLBAK.$EXT_SQL
fi

# Backup command for barrel database
FILE_NAME_DB_BARREL=${SERVER_PREFIX}_${DB_NAME_MARIADB}_barrel_backup_${BAK_DATE}
sudo mysqldump -u root -p<輸入你的 root 密碼> barrel --single-transaction --quick --lock-tables=false > $DB_BAK_PATH/$FILE_NAME_DB_BARREL.$EXT_SQL
tar jcvf $DB_BAK_PATH/$FILE_NAME_DB_BARREL.$EXT_TAR_BZ2 $DB_BAK_PATH/$FILE_NAME_DB_BARREL.$EXT_SQL
if [  $? -eq 0 ]; then
    rm $DB_BAK_PATH/$FILE_NAME_DB_BARREL.$EXT_SQL
fi

# Backup command for barrel_empty database
FILE_NAME_DB_BARREL_EMPTY=${SERVER_PREFIX}_${DB_NAME_MARIADB}_barrel_empty_backup_${BAK_DATE}
sudo mysqldump -u root -p<輸入你的 root 密碼> barrel --single-transaction --quick --lock-tables=false > $DB_BAK_PATH/$FILE_NAME_DB_BARREL_EMPTY.$EXT_SQL
tar jcvf $DB_BAK_PATH/$FILE_NAME_DB_BARREL_EMPTY.$EXT_TAR_BZ2 $DB_BAK_PATH/$FILE_NAME_DB_BARREL_EMPTY.$EXT_SQL
if [  $? -eq 0 ]; then
    rm $DB_BAK_PATH/$FILE_NAME_DB_BARREL_EMPTY.$EXT_SQL
fi

# cloud service backup setting
PHPVER=php7
CLOUD_HOME=/solutions/services
CLOUD_PROJECT_BARREL=project_barrel
CLOUD_BAK_PATH=$BACKUP_ROOT/services

# Backup command for Cloud Service -> barrel
FILENAME_SERVICE_BARREL=${CLOUD_BAK_PATH}/${SERVER_PREFIX}_${CLOUD_PROJECT_BARREL}_${PHPVER}_${BAK_DATE}.$EXT_TAR_BZ2
sudo tar jcvf $FILENAME_SERVICE_BARREL ${CLOUD_HOME}/${CLOUD_PROJECT_BARREL}

# WEB backup setting
WEB_HOME=/solutions/www
WEB_SITE_WEBCONNECTv=webconnect.com
WEB_BAK_PATH=$BACKUP_ROOT/web

# Backup command for WEB Service -> webconnect.com
FILENAME_WEB=${WEB_BAK_PATH}/${SERVER_PREFIX}_${WEB_SITE_GOLDTEKCONNECT}_${PHPVER}_${BAK_DATE}.$EXT_TAR_BZ2
sudo tar jcvf $FILENAME_WEB ${WEB_HOME}/${WEB_SITE_WEBCONNECT}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值