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

Бэкап ukmserver - останавливать службу УКМ или нет? : УКМ-4

19.04.2024 14:46


04.03.2016 09:14
УКМ_эксплуатант_2
 
На СГО бэкап делаю вручную: остановил УКМ-а, дал команду mysqldump и т.д.
Хочу на СМ-ах тоже сделать, но автоматически (в шедулер загнать батник).
Вопрос: Останавливать службу УКМ-а или нет?

P.S. Если не изменяет память - у С+ был некий батник, который это делал. А именно:
делал дамп БД
архивировал его с именем куда включал дату
удалял архивы старее ИКС дней
Может у кого сохранился, ибо на ФТП с+ не нашел (не исключено, что не там искал)...
04.03.2016 09:33
bob
 
Вроде это.
Вложения
Тип файла: rar backup.rar (2.4 Кб, 89 просмотров)
04.03.2016 09:53
Neutron
 
Зачем останавливать службу?
Если есть стандартная утилита mysqldump...
Вот пример батника которые все делает сам за тебя и бекапит на горячую
Можешь его модифицировать под себя
Цитата:
C:\MYSQL\bin\mysqldump -uroot -hlocalhost -pпарольБД -v ukmserver | gzip -c > D:\BACKUP\UKM\%date%_ukm.sql.gz
timeout 5
forfiles -p D:\BACKUP\UKM\ -d -10 -c "cmd /c del /S @file
exit
в итоге получаешь дамп базы, той же утилитой можешь все и востановить
04.03.2016 13:15
Eugin_S
 
мы не останавливаем, полет нормальный, ресторится нормально такой дамп
04.03.2016 13:52
bob
 
Цитата:
bob Вроде это.
Еще добавлю - этот бэкап с остановом сервиса.
04.03.2016 13:53
Kryukov
 
Я делаю не тормозя службы... 192.168.0.89- кассовый сервер
Цитата:
#!/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.89 --user=$DB_USER --password=$DB_PASSWD -R ukmserver >$DB_BACKUP/01/ukmserver-wi-`date +%Y-%m-%d-%H-%M-%S`.sql
# строчку с ls я добавляю специально, чтобы в письме, которое мне придёт, можно было увидеть
# размер бэкапа. Если он меньше вчерашнего - есть повод призадуматься. Если вообще нулевой - бэкап не прошёл точно.
ls -lah $DB_BACKUP/01/
exit 0
09.03.2016 07:09
Eugin_S
 
Я делаю бэкапы так:
делаю дамп при запущенной службе УКМ сервера, копирую в хранилище бэкапов и на сервер где этот дамп ресторится. Делается это автоматически, скриптом на PowerShell, ежедневно, хранятся 3 последних отресторенных дампа. И в случае крэша БД у меня уже есть свежая, отресторенная БД, которую остается только подкинуть на рабочий сервер и дождаться когда данные с касс приедут.
Часовой пояс GMT +3, время: 14:46.

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