Как вы делаете бэкап, если у вас установлен биллинг?

InstantCMS 2.X
#46 24 марта 2018 в 01:02


Это неплохо работает уже лет 5 на разных хостингах:
instantcms.ru/forum/thread21681-1.html#207256

Смысл следующий:
1. Создаем папку, где будем хранить бэкапы базы.
2. Создаем файл, который будет стартовать бэкап и удаление старых бэкапов.
3. Создаем задачу хрона, которая дергает этот файл.

Файл должен выглядеть приблизительно так:

  1. /usr/bin/mysqldump --opt --user=****** --pass=******** -h localhost -e --add-drop-table ****** | gzip -f9 > /путь_папке_бэкапов/`date "+%d-%m-%Y_%Hh%Mm"`.sql.gz
  2. find /путь_папке_бэкапов/ -name "*sql.gz" -mtime +1 -exec rm -f {} \;

Ris

Эврика. Так получается это и есть решение вопроса, озвученного мною в начале темы.
Т.е. получается всё так просто. Вот значит тот самый файл, который будет делать бэкап базы каждые 5 минут (если в кроне выставить 5 минут).

Кстати, файл можно назвать как угодно? Допустим kopiibaz.php
И где его разместить? В корне сайта?
Папку назвать также и в корень сайта разместить?
Файл в папку не нужно помещать, да?
#47 24 марта 2018 в 07:55

Эврика. Так получается это и есть решение вопроса, озвученного мною в начале темы.

Polzovinst
Не совсем.
Пока выполняется бэкап базы — она недоступна для чтения и записи. В моем случае вес базы около 900 мб и бэкап выполняется 2 минуты.
То есть если делать бэкап каждые 5 минут — сайт будет просто недоступен. А диск забьется бэкапами уже к вечеру.
Polzovinst,
Вам в этой теме озвучивали нормальное решение. Ежедневный автоматический бэкап и принудительный бэкап перед проведением каких-либо работ.

Кстати, файл можно назвать как угодно?

Polzovinst
Все можно назвать как угодно и разместить где угодно.
#48 24 марта 2018 в 13:18


Не совсем.
Пока выполняется бэкап базы — она недоступна для чтения и записи. В моем случае вес базы около 900 мб и бэкап выполняется 2 минуты.
То есть если делать бэкап каждые 5 минут — сайт будет просто недоступен. А диск забьется бэкапами уже к вечеру.
Polzovinst,
Вам в этой теме озвучивали нормальное решение. Ежедневный автоматический бэкап и принудительный бэкап перед проведением каких-либо работ.

Ris
Понял, значит это решение не для меня. Хотя ответ про файл схож с поставленным вопросом. Ладно, будем довольствоваться ежедневным автоматическим бэкапом.
Вес 900мб, неплохо, огромный сайт такой. У меня уже не самый маленький, но вес базы пока 500кб, вес сайта 250мб…
#49 24 марта 2018 в 13:37

но вес базы пока 500кб

Polzovinst
Ничего не путаете?
У свежеустановленного сайта с демоконтентом база уже 800кб весит.
--------------------------------------------------------------------------------------------------

Кстати, а что Вы там бэкапить собираетесь? Разве биллинг на пишет логи транзакций в текстовые файлы в корень сайта?
Я у кого-то точно видел заваленный логами сайт.
#50 24 марта 2018 в 13:59


но вес базы пока 500кб

Polzovinst
Ничего не путаете?
У свежеустановленного сайта с демоконтентом база уже 800кб весит.

Ris
Может и путаю. Просто когда захожу в MySQL., скачиваю там получается 500кб. Может это уже когда бэкап, там больше.


Кстати, а что Вы там бэкапить собираетесь? Разве биллинг на пишет логи транзакций в текстовые файлы в корень сайта?
Я у кого-то точно видел заваленный логами сайт.

Ris
Это уже ближе, лучше. Перепроверил сейчас. В корне сайта чисто в этом плане.
Но в разделе Log-файлы всё выключено.
Не заходил туда даже никогда.
#51 25 марта 2018 в 03:03
Ris, пока конечно не понял с этими логами.

Включил пока только лог ошибок.

А что дальше и как это с биллингом увязать и применить при необходимости?


Или как, лог ошибок это одно дело, а лог биллинга это другое дело получается.

Т.е., если возникнет ошибка, в корне сайта образуется файл, в котором можно посмотреть эту ошибку, и умные люди будут знать как исправить неполадку?
А с биллингом лог файл образуется при транзакции и что с ним делать при неполадке?
Как лог файлы вообще себя называют?
#52 25 марта 2018 в 09:45
Polzovinst,
Вы у меня зря спрашиваете. Я биллинга не видел никогда.
Но в документации к биллингу сказано:

Каждая финансовая операция фиксируется в журнале;

А где этот журнал и как его сохранять лучше спросить у техподдержки биллинга.

А лог ошибок вещь полезная, но это не история финансовых операций.
#53 25 марта 2018 в 17:35
Ris, спасибо за ответы.


А лог ошибок вещь полезная, но это не история финансовых операций.

Ris
Это я понял.

А что дальше с логами делать, как их применить при необходимости если потеряются данные, допустим после бэкапа? Т.е., если отбэкапил к вчерашнему дню, а записи исчезли, которые сегодня добавлялись.
#54 25 марта 2018 в 18:13

если отбэкапил к вчерашнему дню, а записи исчезли, которые сегодня добавлялись.

Polzovinst
Конечно исчезли. Надо было сохранить базу, которая есть перед восстановлением. А потом записи из неё добавить.

Кстати, сделал дополнение для бэкапа базы:
instantcms.ru/blogs/zapiski-dinozavra/byekap-bazy-danyh-po-raspisaniyu.html
#55 25 марта 2018 в 18:29


если отбэкапил к вчерашнему дню, а записи исчезли, которые сегодня добавлялись.

Polzovinst
Конечно исчезли. Надо было сохранить базу, которая есть перед восстановлением. А потом записи из неё добавить.

Ris
Короче, я думал я бум-бум чуть-чуть, а оказалось не бум-бум.


А потом записи из неё добавить.

Ris
О том как делать эту процедуру, пока соображения не имею.


Кстати, сделал дополнение для бэкапа базы:
instantcms.ru/blogs/zapiski-dinozavra/byekap-bazy-danyh-po-raspisaniyu.html

Ris
Супер! Спасибо! Сейчас установим, посмотрим…
#56 25 марта 2018 в 19:07

О том как делать эту процедуру, пока соображения не имею.

Polzovinst
Это очень творческий процесс!
Я обычно делаю так:
Допустим я восстановил базу из вчерашнего бэкапа и обнаружил, что свежий контент за прошедший день пропал.
Но! Если перед восстановлением я не забыл сохранить бэкап за сегодняшний день, всегда можно "дописать" потерянный контент.
Делается это так:
1. Восстанавливаем базу за сегодняшний день где угодно. Хоть в другую базу на этом же сервере, хоть на локальном сервере. Потом экспортируем таблицу того, чего собираемся дописывать. Допустим, комментарии. Экспортируем таблицу cms_comments. Открываем её в notepad++ и автозаменой меняем префикс. То есть "заменить всё cms_ на kms_" импортируем эту таблицу в действующую базу и дописываем так:
  1. INSERT IGNOGE INTO cms_comments * SELECT * FROM kms_comments
И недостающее дописывается.
#57 25 марта 2018 в 19:29


О том как делать эту процедуру, пока соображения не имею.

Polzovinst
Это очень творческий процесс!
Я обычно делаю так:
Допустим я восстановил базу из вчерашнего бэкапа и обнаружил, что свежий контент за прошедший день пропал.
Но! Если перед восстановлением я не забыл сохранить бэкап за сегодняшний день, всегда можно "дописать" потерянный контент.
Делается это так:
1. Восстанавливаем базу за сегодняшний день где угодно. Хоть в другую базу на этом же сервере, хоть на локальном сервере. Потом экспортируем таблицу того, чего собираемся дописывать. Допустим, комментарии. Экспортируем таблицу cms_comments. Открываем её в notepad++ и автозаменой меняем префикс. То есть "заменить всё cms_ на kms_" импортируем эту таблицу в действующую базу и дописываем так:
  1. INSERT IGNOGE INTO cms_comments * SELECT * FROM kms_comments
И недостающее дописывается.

Ris
Спасибо.

Не скажу, что сверхсложно.
Но для перворазника пока муторно.
Других вариантов, наверное нет?

Это по идее именно те действия (дописывание из базы в базу), который и нужны. Не простой возврат бэкапа каждые 5 минут, как я думал до этого, а с возвратом сегодняшних записей. Конечно, если плюс с биллингом тоже самое делать, то это лес потемнее, посложнее.

Чтож оно так с биллингом с сохранением данных так тяжко.
#58 25 марта 2018 в 19:34

Других вариантов, наверное нет?

Polzovinst
А вот этот вопрос возвращает нас в начало темы.
Зачем вообще нужно постоянно бэкапить базу, восстанавливаться из нее и т.д.?
Почему бы просто не организовать сайт на нормальном хостинге, чтобы база нормально работала бы и работала?
Я, например, так и делаю.
#59 25 марта 2018 в 19:41


Других вариантов, наверное нет?

Polzovinst
А вот этот вопрос возвращает нас в начало темы.
Зачем вообще нужно постоянно бэкапить базу, восстанавливаться из нее и т.д.?
Почему бы просто не организовать сайт на нормальном хостинге, чтобы база нормально работала бы и работала?
Я, например, так и делаю.

Ris
sweb.ru вроде нормальный 10 лет пользуюсь.

Наверное, я опять путаю одно с другим. Я связываю сбои в базе с какими-либо внешними воздействиями (хакерскими), перегрузками, действиями пользователей и т.д. А тут получается от хостинга что-ли зависит.

Плюс бывает компонент какой-нибудь установишь он не идёт, или отзывы почитаешь что плохой компонент, баги вызывает, начинаю откатывать сайт.
#60 25 марта 2018 в 20:09

Плюс бывает компонент какой-нибудь установишь он не идёт, или отзывы почитаешь что плохой компонент, баги вызывает, начинаю откатывать сайт.

Polzovinst
На кошечках надо тренироваться! На опенсервере.
Вот инструкция:
instantcms.ru/blogs/zapiski-dinozavra/ospanel-i-instantcms.html

sweb.ru вроде нормальный

Polzovinst
Вопросов более не имею.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.