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

InstantCMS 2.X
#1 22 марта 2018 в 00:09
Всем привет!

У меня установлен биллинг.

Вот произошла, допустим, ошибка 503, или любой другой сбой, не касающийся биллинга (а может касающийся, не знаю), возвращаем всё через бэкап. А ведь на сайте записи висят, за них люди деньги заплатили.
Скажите, пожалуйста, какие файлы биллинга нужно сохранить, скачать с сервера, прежде, чем делать бэкап, чтобы после бэкапа эти файлы биллинга снова залить на сервер?

Автор пишет «Биллинг хранит все данные в базе данных, с его файлами отдельно ничего делать не нужно».

В принципе, наверное, это понятно. Но что тогда делать?

Потом автор дал хороший совет:
«Ну вы можете настроить (или попросить поддержку хостера настроить) бекапы базы по крону хоть каждые 10 минут».

В поддержке хостера сказали, что можно, но ведь места на сервере не хватит столько раз в сутки делать бэкап. На сервере 2000мб, сайт сейчас уже 250мб, ещё другие сайты. Уже 850мб занято. А ещё сайт расти будет. Только выделенный сервер надо. Пока выделенный сервер не потяну (и пока прибыли нет — это нецелесообразно), около 10 000р. в месяц в СпайсВеб. Там 1 террабайт под бэкапы.

ВОПРОС:
Как вы, те, у кого установлен биллинг, страхуетесь от сбоев на сайте, когда придётся делать бэкап всего сайта за вчерашнее число, а вам люди сегодня баланс пополнили и запись добавили?
#2 22 марта 2018 в 00:15
У меня каким то боком на Яндексе 100 Гб взялось вот туда все и складывается. Та и файлы не причём все в БД
#3 22 марта 2018 в 00:18
У меня стоит, и на второй и на первой ветке, семь лет стоит, ничего ему не делается. Зачем в биллинге делать бэкап файлов для сохранения информации кто чего заплатил. Сделайте бэкап базы данных, этого достаточно. Сохранённую копию БД скачайте себе на ПК, даже лучше её (копию) скачать себе.
#4 22 марта 2018 в 00:24


У меня каким то боком на Яндексе 100 Гб взялось вот туда все и складывается. Та и файлы не причём все в БД

Jestik
Это в принципе понял, то я заблуждался. Хотя, записи тожешь в базе только сохраняются?
#5 22 марта 2018 в 00:25
Все записи об операциях хранятся только в базе данных.
#6 22 марта 2018 в 00:30


Зачем в биллинге делать бэкап файлов для сохранения информации кто чего заплатил. Сделайте бэкап базы данных, этого достаточно. Сохранённую копию БД скачайте себе на ПК, даже лучше её (копию) скачать себе.

Alex
Тут уж да, я одно с другим мешаю. Ведь если сайт весит 250мб, то база 500кб, так и правда крон базы на каждые 10 минут можно настроить. Тут аопрос в том, что если вручную сохранять базу на компьютер, то это будет не так часто как по крону автоматически, а за это время уже, допустим новые пользователи оплатят и добавят запись. Произошёл сбой, закину я сохранённую базу, бэкап которой впринципе итак каждый день сервером делается. Но… Ещё раз, самое главное: сайт вернётся к состоянию, в котором нет записей пользователей (за которые они заплатили) и информации об оплатах, которые произведены сегодня.
#7 22 марта 2018 в 01:24
Polzovinst, не парьтесь. Выведите где-то "Отказ от гарантий". К нему можно пояснение прицепить. Типа: не волнуйтесь, если что, вернём вам ваши 3 рубля 18 копеек.
#8 22 марта 2018 в 09:15
Да действительно, информация "об отказе от гарантий" будет хорошо вписываться, какие уж тут гарантии.
На счёт сбоя, мне кажется вы излишне переживаете, я примерно раз в месяц БД к себе качаю, вручную и всё. Были у меня пару раз вопросы от клиентов типа где мои "3 рубля 18 копеек", просишь их передать реквизиты платежа: через кого когда и сколько было оплачено, потом смотрим была ли действительно такая операция, и если была и у вас на сайте не зафиксирована, исправляете руками. Последний раз когда ко мне обращались по поводу — что-то пошло не так, была года 2 назад. Можно конечно стараться каждые 10 минут отслеживать изменения, но зачем, если человек заплатил и у него что-то не зачислилось он моментально будет к вам стучаться и требовать "где мои вклады", и в этом случае можно спокойно вмешаться и восстановить нервную систему "пострадавшему".
#9 22 марта 2018 в 16:32
Олег Васильевич я и Alex, спасибо за участие в вопросе.
Я так понял "Отказ от гарантий" это в соглашении прописывается.
Вариант, но, всё должно быть сразу надёжно. Клиентов расстраивать не хочу.

Да то мне в поддержке хостинга за занимаемое место наговорили, а я сам сразу не подумал, что это ведь всего-лишь 500кб базы (а не 250мб файлов; я за 250мб файлов начал оператору говорить, а он "да, да", видимо тоже не подумал) бэкапиться по крону будет. Пусть 1мб. За 1 час 6мб, за сутки 144мб. Не так уж и много. Если каждые 5 мин., то за сутки 288мб. Главное, чтобы потом этот бэкап через сутки удалялся, чтобы место не занимать.

Позвонил в службу поддержки хостинга, сказали, чтобы настроить бэкап по крону каждые 10 минут, для этого нужен php-файл, т.е. скрипт.
Кто-нибудь может написать этот скрипт? Сколько будет стоить?
#10 22 марта 2018 в 16:46
БД не 500кб, больше. Вам нужна всего одна таблица об биллинга. Точнее две, одна от биллинга и вторая с пользователями, потому что сумма баланса хранится не в биллинге, а в таблице пользователей.
#11 22 марта 2018 в 16:55


БД не 500кб, больше. Вам нужна всего одна таблица об биллинга. Точнее две, одна от биллинга и вторая с пользователями, потому что сумма баланса хранится не в биллинге, а в таблице пользователей.

Alex
Alex, когда сайт новый база 200кб, сейчас у меня 500кб, со временем наверняка и 1мб будет.
Ну изначально базу биллинга и думал сохранять, только не знал как.
Единственное, если сохранять или бэкапить только биллинг, записи, которые пользователь добавил, заплатив за них, они ведь не сохранятся?

И, в тоже время автор писал: "Бэкапить нужно всю базу, не только таблицы cms_billing*
Отдельные данные связанные с биллингом могут находиться в других таблицах.
Например, баланс хранится в таблице cms_users."

(пришло сообщение "Получена награда Медаль". Думаю, откуда медаль, от кого, а это видимо за 100 сообщений на форуме:))
#12 22 марта 2018 в 17:43
Polzovinst, У вас что сервер каждые 5 мин. падает? Тогда сомневаюсь, что у вас вообще кто то будет что то покупать.

Один раз в сутки (ну, 2 раза) вполне нормальный бекап.
Остальное для ФОРС МАЖОРНЫХ обстоятельств все отлично описали:
1.

Выведите где-то "Отказ от гарантий". К нему можно пояснение прицепить. Типа: не волнуйтесь, если что, вернём вам ваши 3 рубля 18 копеек.

Олег Васильевич я
2.

просишь их передать реквизиты платежа: через кого когда и сколько было оплачено, потом смотрим была ли действительно такая операция, и если была и у вас на сайте не зафиксирована, исправляете руками

Alex

Все. Этого вполне достаточно что бы решить любые ситуации.
Если же идти вашей логикой, тогда где гарантия, что именно в те 5 мин. промежутка от последнего бекапа не произойдет сбой?

ЗЫ: не забудьте еще одну проблему с бекапами.
Если при сбое каждый раз восстанавливать из бекапа, это в свою очередь ставит вероятность создать проблему тому пользователю который в этот момент платит.

Пользователь начал платить, а вы отключили сайт для бекапа, у него тоже сбой, опять бекап? smile
#13 22 марта 2018 в 18:03
1 мб? — не может быть laugh

«Никому не понадобится большее 637 Кб оперативной памяти для персонального компьютера. 640 Кб должно хватить всем.»
— Билл Гейтс
#14 22 марта 2018 в 18:14
Rainbow, в принципе верно говорите.
Но, то, что кто-то платит в эти 5 минут и тут производится бэкап, такое меньше вероятнее.

Просто как быть с тем, что 2 дня допустим на сайт не заходишь, потом заходишь а он не работает, может перегрузка какая, вирусаки, какие там причины могут быть. Начинаешь делать бэкап за вчерашнее число. А сегодня, допустим, 20 человек уже оплатило и запись свою добавило. Попробуй потом ладу дать.

Понимаю, что, чего-то до конца я не понимаю. Действительно, ведь бэкап бэкапом, а он ведь автоматически не запускается каждые 5 минут. Т.е., увижу я через день-два сбой (допустим ошибка 503), вернусь бэкапом на 5 мин. назад, на 10 минут назад и т.д., не поможет, вернусь на день-два назад. Тогда действительно теряется смысл бэкапа всего сайта каждые 5-10 минут.

ВОПРОС:
Как же всё-таки бэкапить именно все изменения касающиеся биллинга (также вновь созданных пользователем после оплаты записей)?
Может в таких случаях бэкапить MySQL биллинга за сегодняшнее число (на скриншоте выделены). Достаточно ли этого будет?
Можно вообще делать следующим образом?:
1) обнарживаем критическую ошибку, допустим 503
2) копируем MySQL биллинга, или бэкапим
3) откатываем весь сайт на сутки назад
4) закачиваем на сервер MySQL биллинга, которые копировал или бэкапил 10 минут назад
#15 22 марта 2018 в 18:33
Polzovinst, для таких проектов делается мастер и слэйв база. чтоб актуализация базы была на 100%.
иначе все равно потеряете платежи.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.