← All posts tagged backup

Dimez

Покритикуйте скрипт бэкапа, а? Основной критерий скрипта для бэкапа — максимально быстрое восстановление, поэтому ничего не жмётся и рассовывается по подкаталогам.
Что мне не нравится — куча коннектов к БД и строка с show tables совсем не нравится.

#!/bin/bash

#set -x
DAY=`date +%Y%m%d-%H%M%S`
DAY_DELETE=`date +%Y%m%d --date "7 days ago"`
BACKUP_PATH="/backup/mysql"
MYSQL_HOST="host"
MYSQL_USER="user"
MYSQL_PASS="passwd"
MYSQL_BASES="db1 db2 db3"
CREDS="-u${MYSQL_USER} -p${MYSQL_PASS} -h${MYSQL_HOST}"

for base in $MYSQL_BASES; do
mkdir -p ${BACKUP_PATH}/${DAY}/${base}
for table in `echo "show tables;"|mysql ${CREDS} ${base}|grep -v Tables_in_`; do
/usr/bin/mysqldump -n $CREDS $base $table > ${BACKUP_PATH}/${DAY}/${base}/${table}.sql
done
done

#Delete old backups
rm -rf ${BACKUP_PATH}/${DAY_DELETE}*