Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

Ежедневное резервное копирование базы : УКМ-4

25.04.2024 15:58


28.11.2016 08:48
Eugin_S
 
Цитата:
CTAXAHOB дамп MySQL можно вылить и из аварийной базы
это занимает очень много времени, а в моей схеме готовые дампы уже есть
29.11.2016 09:37
Kryukov
 
я на свободной машинке запускаю в нужное время скриптик..

#!/bin/bash
# Эти данные нужно сменить, если какой-либо из параметров поменяется. Например при плановой замене пароля.
export DB_BACKUP="/home/backups/mysql89" #Указать каталог для баз
export DB_USER="root" # Указать пользователя, от которого будет идти бэкап.
export DB_PASSWD="CtHDbCGK.C" # Указать пароль этого пользователя
# название и версии бэкапов. Тут же - глубина бэкапов. Чем больше строк "mv $DB_BACK..." тем больше бэкапов сохранится. При каждом
# срабатывании скрипта бэкапы перемещаются в сл. папку, а последний - удаляется. То есть такая достаточно примитивная ротация,
# которая избавит от необходимости постоянно чистить диски от старых и уже ненужных бэкапов
echo "* Идет бэкап, можете покурить :)"
rm -rf $DB_BACKUP/05
mv $DB_BACKUP/04 $DB_BACKUP/05
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/02 $DB_BACKUP/03
mv $DB_BACKUP/01 $DB_BACKUP/02
mkdir $DB_BACKUP/01
echo "* Ответственный момент. mysqldump делает свое дело..."
echo "----------------------"
mysqldump -h192.168.0.102 --user=$DB_USER --password=$DB_PASSWD -R ukmserver >$DB_BACKUP/01/ukmserver-wi-`date +%Y-%m-%d-%H-%M-%S`.sql
# mysqldump --user=$DB_USER --password=$DB_PASSWD -R newfoto >$DB_BACKUP/01/newfoto-`date +%Y-%m-%d-%H-%M-%S`.sql
echo "ready!"
# строчку с ls я добавляю специально, чтобы в письме, которое мне придёт, можно было увидеть
# размер бэкапа. Если он меньше вчерашнего - есть повод призадуматься. Если вообще нулевой - бэкап не прошёл точно.
ls -lah $DB_BACKUP/01/
exit 0



92.168.0.102 - ip сервера UKM4
29.11.2016 10:41
OlegON
 
Обращу внимание на несколько нюансов
1. mysqldump блокирует базу, если не указать --lock-tables=false. Если указать этот параметр, то могут получиться рассогласованные данные, если не указать и кто-то будет подключаться к базе (например, на форуме постоянно новые подключения), то в итоге все навернется по исчерпанию количества подключений.
2. обязательно надо проверять код выхода mysqldump, например, так
mysqldump .... || echo Жопа
3. базу можно жать с целью экономии места и упрощения транспортировки.
Часовой пояс GMT +3, время: 15:58.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.