Резервні копії бази та відновлення

9 хв

Резервна копія бази — це знімок усіх ваших даних в Elbuz на конкретний момент: товари й ціни, контрагенти, документи, налаштування, права співробітників. Програма робить такі копії щоночі сама, тримає сім останніх і дає відновити будь-яку з них однією кнопкою. Копію можна створити й самому — перед ризикованою операцією це найдешевша страховка, яка взагалі є.

Одну межу варто зрозуміти одразу: у копію потрапляє тільки база даних. Фотографії товарів і завантажені файли зберігаються окремо, і відновлення їх не поверне.

Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.

Вікно
«Відновлення архівної копії БД»
Право доступу
доступ до налаштувань системи: окремого права саме на відновлення немає
Підготувати
для відновлення — час, коли в програмі ніхто не працює, і розуміння, які саме дані ви готові втратити

Що потрапляє в копію, а що ні

Копія — це повний дамп бази даних вашого акаунта: структура таблиць і всі рядки в них. Практично це означає, що в копії є всі товари з цінами й характеристиками, категорії, прайс-листи постачальників і зіставлення, контрагенти й документи, налаштування програми, користувачі та їхні права, журнали.

Чого в копії немає:

  • фотографій товарів і завантажених файлів. Вони лежать в окремому файловому сховищі. У базі зберігаються тільки посилання на них, тому після відновлення картка знову знатиме, де її знімок, — але якщо сам файл видалили зі сховища, копія бази його не поверне;
  • бази вашого сайту. Якщо сайт підключений через Elbuz Tunnel, у нього своя база й свої копії — про це окремо нижче;
  • налаштувань облікового запису на стороні Elbuz — тарифу, балансу, домену. Вони живуть не у вашій базі.

Файл копії — це стиснений дамп. Програма пакує його алгоритмом швидкого стиснення й кладе у хмарне сховище під ідентифікатором вашого акаунта. На диску, який ви бачите у програмі, копії не лежать і місця не займають.

Де це у програмі

Меню
Налаштування → Налаштування системи → розділ «Інші налаштування» → плитка «Відновлення архівної копії БД»
Робочий стіл
ярлик «Відновлення архівної копії БД», якщо його винесено на стіл
Плитка «Відновлення архівної копії БД» серед інших плиток розділу «Інші налаштування»
1Плитка «Відновлення архівної копії БД»
2Розділ «Інші налаштування» в лівій панелі
  1. Плитка «Відновлення архівної копії БД» — відкриває вікно зі списком архівних копій.
  2. Розділ «Інші налаштування» в лівій панелі — тут зібрані плитки службових вікон, зокрема відновлення БД.

Вікно невелике: угорі кнопка «Створити», нижче заголовок «Список архівних копій» і самі копії — дата й час кожної та кнопка «Відновити БД» навпроти. Показуються двадцять останніх копій, найновіша зверху.

Вікно «Відновлення архівної копії БД» зі списком архівних копій
1Кнопка «Створити»
2Заголовок «Список архівних копій»
3Дата і час копії
4Кнопка «Відновити БД»
  1. Кнопка «Створити» — знімає нову архівну копію бази і завантажує її у хмарне сховище.
  2. Заголовок «Список архівних копій» — над переліком уже створених копій.
  3. Дата і час копії — коли саме була знята архівна копія бази.
  4. Кнопка «Відновити БД» — заливає дамп цієї копії поверх поточної бази.

Копії, зроблені вручну, у списку виділені кольором. Наведіть на дату — підказка скаже «Копія створена вручну». Це єдина ознака, за якою ручну копію видно в списку.

Де лежать архівні копії бази

Нічні копії: скільки їх і як довго вони живуть

Щоночі, приблизно між 02:15 і 02:25 за київським часом, Elbuz створює копію бази кожного акаунта. Робиться це на стороні сервісу, вмикати чи налаштовувати нічого не треба, і на роботу програми вдень це не впливає.

Зберігається сім останніх автоматичних копій. Восьма витісняє найстарішу: рядок зникає зі списку, а файл видаляється зі сховища. Практично це означає вікно в тиждень: сьогодні ви можете повернутися на будь-який день до минулого тижня, і не далі.

Тиждень — це весь запас часу. Помилку, зроблену два тижні тому, відновленням із копії вже не виправити: копії того дня немає ні у списку, ні у сховищі. Якщо ви щось видалили й сумніваєтеся, чи потрібне воно, — не відкладайте перевірку на потім.

На ротацію потрапляють тільки автоматичні копії. Копія, створена вами вручну, залишається у списку й не витісняється нічим — вона переживе будь-яку кількість нічних прогонів.

Архівація робиться для кожного робочого акаунта — вмикати чи замовляти її не треба. Порожній список копій означає одне: акаунт завели зовсім недавно, і першої нічної архівації ще не було. До неї можна створити копію кнопкою вручну.

Як створити копію вручну

Кнопка «Створити» у верхньому лівому куті вікна. Натиснули — з'явився синій напис про створення копії, і далі нічого робити не треба: програма знімає дамп, пакує його, завантажує у сховище й додає рядок у список. На великій базі це займає хвилини, вікно при цьому краще не закривати.

Коли все готово, з'явиться повідомлення «Створення архівної копії БД завершено». Оновіть список — і побачите свіжу копію першим рядком, виділену як ручну.

Робити ручну копію варто перед кожною дією, яку важко відкотити. Найчастіші приклади:

  • масове оновлення каталогу з прайс-листів, якщо ви змінили правила зіставлення чи ціноутворення;
  • склейка дублікатів товарів — вона фізично видаляє картки;
  • масове видалення товарів, категорій або контрагентів;
  • перебудова прав доступу, після якої співробітники можуть втратити потрібні вікна;
  • перше налаштування чогось великого — туннелю, вивантаження, складського обліку.

Копія коштує вам однієї кнопки й кількох хвилин очікування. Відновлення після невдалої масової операції без копії коштує набагато більше.

Як відновити базу з копії

У списку знайдіть потрібну дату й натисніть навпроти неї «Відновити БД».

Програма перепитає: у діалозі буде названа дата копії, з якої ви відновлюєтесь, і кнопка підтвердження червона. Прочитайте дату в діалозі — це остання можливість помітити, що ви клацнули не по тому рядку.

Замінюється вся база цілком. Це не «повернути видалені товари» і не вибіркове відновлення: після заливки ваші дані будуть рівно такими, якими вони були на момент копії. Усе, що зробили після неї — нові замовлення, змінені ціни, завантажені прайси, листування, — зникне.

Тому відновлення роблять тоді, коли в програмі ніхто не працює. Якщо колега саме оформлює замовлення, воно зникне разом з усім іншим, і він про це не дізнається — програма нікого не попереджає й нікого не виганяє з сеансу.

Що відбувається далі: програма завантажує файл копії зі сховища, розпаковує його й заливає в базу. На великій базі це довго — від кількох хвилин до десятків хвилин. Закривати вікно чи перезавантажувати сторінку в цей час не треба.

Коли все закінчилося, з'явиться повідомлення «Відновлення БД завершено». Натисніть «Ok» — сторінка перезавантажиться, і ви побачите програму з відновленими даними.

Якщо заливка не вдалася, ви побачите інше повідомлення: «Відновлення бази не виконано: mariadb повернув помилку. Дамп збережено, спробу можна повторити». Це чесний стан, а не мовчазна поломка: база могла лишитися наполовину залитою, і в такому разі спробу треба повторити тією ж кнопкою. Якщо повторна спроба теж падає — звертайтеся в підтримку, подробиці помилки вже записані в журнал.

Що програма робить після відновлення

Відновлення — це не тільки заливка дампа. Разом з нею Elbuz виконує ще чотири речі, і знати про них корисно.

  • Зберігає список копій. Дамп тижневої давності не знає про копії, зроблені після нього. Тому перед заливкою список архівів відкладається вбік, а після — повертається на місце. Ви не втратите можливість відкотитися ще раз, уже на іншу дату.
  • Накатує оновлення бази. За тиждень у програмі могли з'явитися нові таблиці й поля. Одразу після заливки виконуються всі оновлення, яких дамп не знає, — інакше свіжа програма працювала б зі старою структурою даних.
  • Ставить у чергу переіндексацію пошуку. Швидкий пошук по товарах працює зі своїм індексом; після підміни бази його треба зібрати заново.
  • Чистить кеш. Інакше сторінки показували б дані, яких у базі вже немає.

І створення копії, і відновлення записуються в журнал операцій разом із тривалістю. Якщо треба зрозуміти, хто і коли відкочував базу, дивіться туди.

Копія бази сайту — це інше

Якщо сайт підключений через Elbuz Tunnel, у нього своя база — і свої копії. Робить їх сторона сайту, лежать вони окремо, і до вікна «Відновлення архівної копії БД» відношення не мають. Просте правило: вікно налаштувань системи — про вашу базу в Elbuz, вікно туннелю — про базу сайту.

Чого резервні копії не роблять

  • Не зберігають фотографії й файли. Копіюється тільки база. Видалені зі сховища знімки відновленням не повертаються.
  • Не дають відновити частину. Не можна витягнути з копії один товар, одного контрагента чи один документ — тільки вся база цілком.
  • Не завантажуються до вас на комп'ютер. Кнопки «Завантажити копію» у вікні немає: файл лишається у сховищі сервісу.
  • Не видаляються з інтерфейсу. Кнопки видалення копії теж немає. Автоматичні витісняються самі, ручні лишаються назавжди.
  • Не налаштовуються за розкладом. Час нічного прогону задає сервіс, змінити його з програми не можна. Виняток — установка на своєму сервері: там розклад задається окремою кнопкою у цьому ж вікні.
  • Не попереджають інших користувачів. Підтвердження бачить тільки той, хто натиснув кнопку. Колеги, які працюють у програмі в цей момент, не дізнаються нічого — ні до, ні після.

Розбір частих проблем

Симптом, причина і що зробити
Що ви бачитеЧому такЩо зробити
Список архівних копій порожній Акаунт заведений сьогодні: першої нічної архівації ще не було Натиснути «Створити» й зробити копію вручну (як)
Потрібної дати у списку немає Зберігається сім останніх автоматичних копій — вікно рівно в тиждень Далі тижня відкотитися не можна. На майбутнє: перед ризикованими діями робити ручну копію — вона не витісняється
«Відновлення бази не виконано: mariadb повернув помилку» Заливка дампа обірвалася. База могла лишитися наполовину відновленою Повторити ту саму кнопку: розпакований дамп збережено спеціально для повтору. Не допомогло — у підтримку
Після відновлення в картках немає фотографій Знімки зберігаються поза базою, і копія їх не містить Завантажити фотографії заново або отримати їх з прайсу постачальника (чому так)
Колега скаржиться, що його робота зникла Відновлення замінює всю базу — усе, зроблене після дати копії, втрачено Домовлятися про відновлення заздалегідь і робити його, коли ніхто не працює

Що зробити

Перед ризикованою операцією

Часті запитання

Як часто робляться копії й чи треба їх вмикати?

Щоночі, приблизно між 02:15 і 02:25 за київським часом. Вмикати нічого не треба: архівація виконується на стороні сервісу для кожного робочого акаунта. Порожній список означає, що акаунт завели недавно й першої нічної архівації ще не було.

Наскільки далеко можна відкотитися?

На тиждень. Зберігається сім останніх автоматичних копій, восьма витісняє найстарішу — і рядок зі списку, і файл зі сховища. Копії, створені вручну, ротацією не витісняються й лишаються доступними скільки завгодно довго.

Чи можна відновити тільки один товар або один документ?

Ні. Відновлення заливає базу цілком: після нього дані будуть рівно такими, якими були на момент копії. Вибіркового відновлення окремих записів у програмі немає.

Чи повернуться фотографії товарів після відновлення?

Ні, якщо самі файли видалено. У копію бази потрапляють тільки посилання на знімки, а файли лежать в окремому файловому сховищі й у копію не входять. Якщо файли на місці, картки після відновлення знову їх покажуть.

Чи можна завантажити копію собі на комп'ютер?

Ні. Файл копії зберігається у хмарному сховищі сервісу, і кнопки завантаження у вікні немає. Так само немає й кнопки видалення копії.

Що буде з роботою колег під час відновлення?

Програма нікого не попереджає й не виганяє з сеансу, а база при цьому замінюється цілком. Усе, що колеги зробили після дати копії, буде втрачено, і побачать вони це не одразу. Тому відновлення планують заздалегідь і роблять у неробочий час.

Чи була стаття корисною?