Архівна копія бази сайту і відновлення з неї

5 хв

Elbuz Tunnel перед кожним злиттям знімає копію таблиць каталогу в базі вашого сайту, і помилкове вивантаження можна відкотити з неї кількома кліками.

Коли це знадобиться:

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

З чого почати: картка тунельного шаблону → секція «Налаштування архівації БД сайту».

Що вміє архівна копія

Де це і хто має доступ

Меню
Довідники → Операції → Вивантаження даних → картка шаблону Elbuz Tunnel
Інші входи
секція «Додатково» → «Відновлення БД сайту»
Право доступу
«Відновлення БД сайту» — окреме право, перевіряється і на самій дії
Підготувати
розширення PHP pdo на хостингу сайту

Без права на «Відновлення БД сайту» форма не відкриється, а прямий виклик відновлення повернеться з відмовою: операція необоротна.

Архівна копія бази сайту

Згорнута секція «Налаштування архівації БД сайту». У новому шаблоні архівація увімкнена, разом зі стисненням.

Секція «Налаштування архівації БД сайту» у картці шаблону Elbuz Tunnel
1Створювати архівну копію БД сайту
2Кількість днів для зберігання копій
3Префікс файлу
  1. Галочка вмикає створення архівної копії бази даних сайту перед кожним вивантаженням; у цього шаблону вона вимкнена.
  2. Скільки днів зберігати архівні копії на сервері — за замовчуванням 7.
  3. Текст, який додається на початок імені файлу архівної копії.

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

У журналі це видно: рядок «Створено архівну копію БД сайту:» з імʼям файла стоїть після всіх рядків «Вивантаження …» і перед «Оновлення сайту». Якщо прогін обірветься раніше — на передачі даних або від кнопки «Зупинити», — копії не буде, але й робочі таблиці сайту при цьому не змінилися.

Файл лягає в теку etrade_http_tunnel2/backup на хостингу вашого сайту й називається за схемою «назва бази — дата й час»: наприклад mysite_db-18-08-2026-03-40.sql.gz. Поле «Префікс файлу» дописує ваш текст на початок імені — зручно, коли копії кількох сайтів лежать поруч.

У старих шаблонах там може стояти 0 — поле можна очистити або вписати щось осмислене. Розширення .gz в імені дає прапорець «Використовувати компресію» — з ним копія пакується й займає на хостингу помітно менше місця.

Поле «Кількість днів для зберігання копій» за замовчуванням дорівнює 7. Старіші файли видаляються не за розкладом, а перед зняттям нової копії — тобто поки вивантаження не запускається, старі копії лежать далі.

Що входить у копію: тільки таблиці тих сутностей, які відзначені в «Вибір даних для вивантаження». Для OpenCart це так: відзначені категорії — у копію підуть таблиці категорій; товари — таблиці товарів, знижок, акцій, звʼязків із категоріями та магазинами; атрибути, опції, фото — свої.

Виробники — одна таблиця. У інших рушіїв набір ширший, бо каталог у них лежить в інших таблицях: у WooCommerce до нього додаються posts і postmeta — тобто сторінки й записи блога, а в 1C-Bitrix — інфоблоки цілком.

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

Прапорець архівації працює не в усіх режимів. Копію знімають усі CMS зі списку — 1C-Bitrix, CS-Cart, Magento, OpenCart усіх трьох версій, PrestaShop, WebAsyst Shop-Script і WooCommerce. Виняток один: режим «MySQL (SQL custom query)».

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

Відновлення з копії

Кнопка «Відновлення БД сайту» в секції «Додатково» картки шаблону. Вікно показує заголовок «Список архівних копій» і перелік файлів із теки backup на вашому хостингу; біля кожного — кнопка «Відновити».

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

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

Що саме перезапишеться, залежить від рушія: у OpenCart це каталог (товари, категорії, виробники, атрибути, опції, фото), у WooCommerce до нього додаються сторінки й записи блога, у 1C-Bitrix — інфоблоки цілком. Звіряйте дату й час в імені файла, перш ніж натискати.

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

Сценарії

Перший прогін на живий сайт

Що зробити. У секції «Налаштування архівації БД сайту» лишіть увімкненими створення копії й «Використовувати компресію».

Що вийде. Перед злиттям копія таблиць відзначених сутностей ляже в теку etrade_http_tunnel2/backup, а журнал напише «Створено архівну копію БД сайту:» з іменем файла. Чого не буде. Замовлень, покупців і налаштувань сайту в копії немає.

Вивантаження зіпсувало ціни на сайті

Що зробити. Секція «Додатково» → «Відновлення БД сайту», копія з датою до невдалого прогону → «Відновити» → підтвердити.

Що вийде. Таблиці з копії перезапишуться цілком. Чого не буде. Скасувати відновлення не можна, а все, що змінилося в цих таблицях після зняття копії, зникне.

Копії кількох сайтів лежать поруч

Що зробити. Впишіть у «Префікс файлу» назву сайту.

Що вийде. Ім’я кожної копії починатиметься з вашого тексту, і копії не сплутати. Чого не буде. Строк зберігання від префікса не залежить — старі копії видаляються перед зняттям нової.

Що робити, коли копії немає або відновлення не вдалося

Що ви бачитеЧому такЩо зробити
У журналі немає рядка «Створено архівну копію БД сайту:», хоча прапорець стоїть Архівація не реалізована для режиму «MySQL (SQL custom query)» Робіть копію бази засобами хостингу перед прогоном (про копію)
«Class PDO not found» На хостингу сайту не встановлено розширення PHP pdo. Воно потрібне тільки для архівної копії бази сайту перед оновленням Поставте php-pdo — або зніміть прапорець створення архівної копії в налаштуваннях шаблону (про копію)
Потрібної копії немає у списку або відповідь «файла немає» Копію видалено за строком зберігання — за замовчуванням 7 днів Оновіть вікно й виберіть іншу копію; щоб копії жили довше, збільште «Кількість днів для зберігання копій»

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

Де лежить архівна копія бази сайту й що в неї входить?

У теці etrade_http_tunnel2/backup на хостингу сайту; імʼя складається з назви бази, дати й часу. Входять тільки таблиці сутностей, відзначених у «Вибір даних для вивантаження». За замовчуванням копії зберігаються 7 днів.

Чому в журналі немає рядка про архівну копію, хоча прапорець стоїть?

У режимі «MySQL (SQL custom query)» копія не знімається — робіть її засобами хостингу. Усі CMS зі списку копію знімають.

Кнопка «Відновити» перепитає, перш ніж відновлювати?

Так. Спершу відкривається попередження з іменем файла копії, і відновлення почнеться тільки після підтвердження. Звіряйте дату й час в імені файла до натискання.

Чи замінює архівна копія бекап хостингу?

Ні. Це копія каталогу, а не сайту: замовлень, покупців, налаштувань, шаблонів дизайну й модулів у ній немає.

Коли видаляються старі копії?

Перед зняттям нової: файли, старші за «Кількість днів для зберігання копій», видаляються. Поки вивантаження не запускається, старі копії лежать далі.

Суміжні теми

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