ВходИмяПароль
Автоматически входить при каждом посещении    
Регистрация
Регистрация
Войти и проверить личные сообщения
Войти и проверить личные сообщения
Список форумов ЛанМедиаСервис » Околосистемные темы

Начать новую тему   Ответить на тему
Полный бекап всех баз данных
Предыдущая тема :: Следующая тема  
Автор Сообщение

Илья Спесивцев

Администратор



Зарегистрирован: 26.02.2008
Сообщения: 703
Откуда: Техподдержка

blank.gif
Сообщение Добавлено: 2012-03-31 12:35 pm    Заголовок сообщения: Полный бекап всех баз данных Ответить с цитатой

Создаем скрипт:
Код:
touch /root/mysql-backup.sh
chmod 700 /root/mysql-backup.sh

и добавляем в него:
Код:

#!/usr/local/bin/bash

DATE=`date +%Y-%m-%d`
FN=backup.${DATE}

BK_DIR_SQL='/path/to/backup/sql'
BK_FILE=${BK_DIR_SQL}/${FN}.sql.tar.bz2
BASEPARAM='-uroot -pпароль'
PARAM="--quote-names --add-drop-table $BASEPARAM"
cd ${BK_DIR_SQL}

IGGY="test information_schema performance_schema"

DBS="$(/usr/local/bin/mysql $BASEPARAM -Bse 'show databases')"

for db in $DBS
do
    skipdb=-1
    if [ "$IGGY" != "" ];
    then
    for i in $IGGY
    do
        [ "$db" == "$i" ] && skipdb=1 || :
    done
    fi

    if [ "$skipdb" == "-1" ] ; then
    echo $db
    /usr/bin/nice -n 20 /usr/local/bin/mysqldump ${PARAM} $db > $db.sql
    fi
done

/usr/bin/tar -cjvf ${BK_FILE} *.sql && chmod 600 ${BK_FILE} && rm *.sql

Редактируем пути и пароли под свою систему.

И добавляем в crontab (например, на каждую субботу в 5:00):
Код:
0 5 * * 6 /root/mysql-backup.sh >/dev/null 2>&1
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов ЛанМедиаСервис » Околосистемные темы Часовой пояс: GMT
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы