Рано или поздно перед каждым пользователем возникает вопрос сохранения данных.
Сегодня научимся создавать резервную копию сайта на 1С-Битрикс локально на веб-сервер и в облако 1С-Битрикс
Статья уже не новая, решил освежить ее с учетом новых возможностей резервного копирования и своих знаний.
Множество факторов приводят к исчезновению сайта. Вирусы, неудачные обновления и попытки взлома — всё это сделает проект непригодным. Создавайте резервные копии, чтобы этого не произошло. Это позволит быстро восстановить работоспособную версию сайта, сохранив при этом данные.
- Выбираю всю базу данных, а в файл экспорта попадает только часть информации. Почему?
- 1. Проверка свободного места
- 2. Создание копии сайта
- 3. Скачивание и загрузка файла «restore.php»
- 4. Запуск распаковки копии сайта
- С помощью механизма Битрикс
- Восстановление дампа
- С помощью консольных команд
- Как снять дамп
- Исключение таблиц из дампа
- Восстановление дампа
- Заключение
- О приложении
- Настройка на сервере задачи cron
- Резервные копии на стороне хостинг-провайдера
- Резервное копирование сайта в облако 1С-Битрикс
- Пример, как сохранить контакты – экспорт контактов
- Восстановление
- Веб-интерфейс
- Ручное восстановление
- ВАЖНО
- ВАЖНО
- Как восстановить последний бэкап сайта в 1С-Битрикс
- Как организовать экспорты в облачной версии для компании с средним объемом информации и работающей обычном режиме?
- Резервные копии 1С-Битрикс
- Как и в каком объеме сохраняется информация?
- В облаке
- Как это работает
- Настройка регулярного резервного копирования в Битрикс
- ВАЖНО
- Я хочу экспортировать контакты, но у меня нет кнопки «экспорт».
- Возможные ошибки
- Mysql query error: (1298) Unknown or incorrect time zone
- В конкретную папку сайта
- Локальная резервная копия сайта при многосайтовости
- Резервное копирование
- Веб-интерфейс
- Ручное резервное копирование
- Локальная резервная копия сайта без многосайтовости
- 1.1. Архивировать БД (Базу данных)
- 1.2. Архивировать ядро
- 1.3. Архивировать публичную часть
- 1.4. Исключить из архива файлы и директории по маске
- 1.5. Исключаем из архива файлы определенного размера
- 1.6. Пропускать символические ссылки на директории
- 1.7. Шифровать данные резервной копии
- 1.8. Проверить целостность архива после завершения
- 1.9. Отключить компрессию архива
- 1.10. Длительность шага и Интервал
- 1.11. Максимальный размер несжатых данных в одной части архива
- Можно ли автоматизировать процедуру сохранения данных?
- Рассказываем как сделать резервную копию сайта
- Рекомендации по снижению нагрузки на сервер при резервном копировании сайта на 1С-Битрикс
- Заключение
- Материалы по теме
Выбираю всю базу данных, а в файл экспорта попадает только часть информации. Почему?
Дело в том, что создатель контакта может включить запрет на экспорт и в этом случае такой контакт блокируется для переноса.
Администратору портала важно перед началом экспорта данных предварительно убедится, что запреты у всех карточек отключены и при необходимости снять блокировку.
Рассказываем, как восстановить сайт с помощью резервного копирования 1С-Битрикс и панели управления хостингом.
Перед переносом сайта на новый хостинг или предоставления доступа разработчику нужно сделать копию сайта. Сохранить ее у себя, и в случае ЧП восстановить сайт в виде до начала работ.
Резервные копии создаются на уровне 1С-Битрикс и хостинга.
Понадобилось сегодня настроить регулярное резервное копирование двух сайтов на Битрикс с помощью задачи cron на сервере.
Например, на одном Битрикс, на одной админке настроена многосайтовость, два сайта:
- site1.ru
- site2.ru
Версия Битрикс 14.9.4, как оказалось, на этой версии Битрикс не делает бэкап публичной части сайта site2.ru, с первым проблем нет, может это косяк, не знаю, но времени разбираться некода, исправим это недоразумение.
Мы рассмотрим процесс создания резервной копии как средствами веб-интерфейса, так и вручную (дамп базы данных и копирование файлов). Также мы выполним восстановление работы Битрикс24 с помощью созданных архивов.
Подразумевается, что у нас уже развернут портал Битрикс24. Иначе, читаем инструкцию Установка CRM Битрикс24 на Linux CentOS.
Создание резервной копии
С помощью веб-интерфейса
Вручную
Восстановление из резервной копии
В веб-интерфейсе
Вручную
Решение возможных проблем
Для восстановления онлайн-проекта убедитесь в активности лицензии на «1С-Битрикс: Управление сайтом». Если нужно, продлите ее действие.
После завершения действия лицензии резервная копия будет доступна в облаке 1С-Битрикс 2 недели. Для восстановления также нужен активный лицензионный ключ.
Выберите нужный файл для восстановления, нажмите кнопку «Восстановить».
Обратите внимание на размещение копии.
- Если резервная копия размещена в облаке 1С-Битрикс, выберите файл с архивом, введите лицензионный ключ и пароль.
- Если резервная копия сохранена локально, то после ввода пароля начнется распаковка архива.
После распаковки файлов укажите настройки соединения с базой данных для восстановления сайта с ней. Этот этап можно пропустить, если в восстановлении БД нет необходимости.
Настройки подключения к MySQL будут взяты из файла «dbconn.php». Он расположен в пути: /home/bitrix/www/bitrix/php_interface/dbconn.php.
Вы также можете указать свои параметры подключения к MySQL — выберите опцию «Создать базу данных», если ее не существует.
После восстановления базы данных в целях безопасности необходимо удалить локальную резервную копию и служебные скрипты.
Восстановление сайта из резервной копии успешно завершено.
Откройте панель управления вашей услугой:
1. Проверка свободного места
Далее убедитесь, что свободного места хватит.
Если у вас виртуальный хостинг, перейдите на главную. В блоке «Ограничения» в строке «Диск» проверьте, сколько осталось доступного места.
В блоке «RED.Monitoring» в строке «Дисковое пространство» проверьте оставшееся место.
2. Создание копии сайта
3. Скачивание и загрузка файла «restore.php»
Для скачивания файла перейдите по ссылке, в которой подставьте домен вашего сайта вместо «mysite»: http://mysite.ru/download/scripts/restore.php. Далее на панели управления перейдите Менеджер файлов и проделайте путь до каталога с копией сайта: /www/mysite.ru/. Загрузите файл «restore.php».
4. Запуск распаковки копии сайта
Для распаковки копии сайта перейдите по адресу http://mysite.ru/restore.php, в котором замените «mysite» на имя вашего домена. Нажмите кнопку «Далее».
Перейдите на страницу со списком резервных копий в панели 1С-Битрикс. Выберите копию и нажмите на «Получить ссылку для переноса».
На следующем этапе вы можете восстановить базу данных или пропустить этот шаг.
Для восстановления следует создать базу данных для тестового сайта. После введите требуемую информацию и поставьте галочку в графе «Создать базу данных, если не существует». Нажмите «Восстановить».
Далее удалите локальную резервную копию и служебные скрипты.
Результат будет отражен на экране — тестовая копия сайта успешно создана.
Всем привет. В данной статье мы рассмотрим способы снятия дампа базы данных двумя популярными способами: с помощью Битриксового механизма и консольными командами.
Обычно все решается легким путем с помощью Битриксовых средств – мы рекомендуем пользоваться им. В другом случае, можно прибегнуть к созданию дампа другими средствами, но здесь понадобится немного знаний и опыта.
С помощью механизма Битрикс
Выполняется очень просто с помощью механизма создания бекапа Настройки / Инструменты / Резервное копирование
Для создания дампа, выбираем экспертные настройки и оставляем галочку Архивировать базу данных.
Восстановление дампа
Для восстановления дампа понадобится файл restore.php. Его необходимо положить в корень сайта и запустить процедуру восстановления. Затем, загрузить архив с дампом и восстановить базу данных.
По идее архив можно было бы распаковать и, затем, восстановить данные из дампа консольной командой, но никто не гарантирует результата. Есть стандартный функционал – пользуйся им, пока нет необходимости.
После восстановления, не забудьте проверить, что файл restore.php удален с сайта.
С помощью консольных команд
Порой возникают проблемы, из-за которых процедура снятия копии базы данных с помощью Битрикса невозможна или затруднительна.
Это актуально, когда:
- Нужно исключить тяжелые таблицы из дампа (фасеты, таблицы HL и т.п.). В Битриксовом механизме создания бекапа нельзя исключать таблицы, кроме поискового индекса, логов и статистики.
- Владелец отказывается пускать в админку и не дает доступы от сайта. Но у вас есть ssh доступ.
- Нужно по-быстрому сделать дамп базы данных на всякий случай.
Как снять дамп
Для процедуры снятия дампа нужного сайта берем доступы к MySQL из файла /bitrix/php_interface/dbconn.php
Затем в консоли вводим команду, подставляя доступы базы данных:
Убедитесь перед операцией, что места на диске хватит для создания дампа
Исключение таблиц из дампа
При этом вы можете не только задампить базу, но и исключить из нее ненужные и тяжелые таблицы, которые не так необходимы.
В моем случае мне попадалась тяжелейшая таблица с фасетными индексами. Тогда у меня битриксовое создание бекапа занимало 8-10 часов только из-за этой таблицы.Учитывая, что у меня мощное железо и на сайте 100+ тысяч товаров.Тогда этот способ оказался действительным.
Восстановление дампа
Восстановление дампа выполняется очень просто
Заключение
Прибегнуть к способу создания бекапа базы с помощью консоли – дело хитрое и для экспертов. Поэтому без особой причины лучше обойтись созданием бекапа с помощью механизма Битрикс.
Резервные копии больших проектов таких как коробочные версии порталов Битрикс24, на которых хранится большой объем информации не стоит создавать исключительно стандартными средствами системы. Как правило больше всего файлов хранится в папке битрикс upload. Обычно там находятся файлы диска, вложения к задачам, записи телефонных звонков и многое другое.
Если делать резервную копию средствами системы и включать в нее папку upload, то при распаковке копии с помощью файла битрикс restore.php можно получить неприятный сюрприз — архив с копией окажется «битым», не распакуется и вам придется приложить огромные усилия для получения файлов из архива с резервной копией.
Может получится так, что вы не сможете их получить вовсе. В этой небольшой статье я расскажу вам как нужно правильно создавать резервную копию большого проекта, когда в папке битрикс upload хранится несколько десятков гигабайт информации.
Итак, действовать мы будем следующим образом: сначала создадим архив с ядром и БД средствами Битрикса (исключим из него папку upload и некоторые другие папки), а папку upload создадим через консоль командной строки, подключившись к порталу по SSH.
Кстати создать архив с помощью системы можно 2 способами: через административную панель сайта или запустив php-скрипт резервного копирования в командной строке. Архивировать в консоли считается более надежным и профессиональным способом – так как меньше шансов, что произойдет какая-нибудь ошибка, нежели при запуске инструмента архивации через браузер. В любом случае выбирать нужно вам.
В обоих случаях резервное копирование битрикс начать стоит с настроек копирования.
Параметры копирования находятся на разных страницах административной панели, но опции для настройки содержат практически одинаковые.
Общие параметры резервного копирования:
- Размещение резервной копии: выбираем вариант «в папке сайта»
- Архивировать базу данных: ДА
- Исключить из базы данных: отмечаем все 3 флажка (исключать статистику, поисковый индекс, журнал событий)
- : ДА
- Архивировать публичную часть: ДА
- Исключить из архива файлы и директории по маске: указываем папки /upload, /bitrix/cache, /bitrix/backup, /bitrix/managed_cache, /bitrix/stack_cache, /upload/resize_cache, /bitrix/html_cache, /bitrix/tmp
- Шифровать данные резервной копии: НЕТ
- Проверить целостность архива после завершения: ДА
- Отключить компрессию архива (снижение нагрузки на процессор): ДА
- : 20 сек., интервал: 3 сек.
- Максимальный размер несжатых данных в одной части архива (МБ): 2047
Параметры для 2-го способа (запуск скрипта через командную строку):
- : наш выбор — «через прямой запуск /bitrix/modules/main/tools/backup.php»
- Удалять локальные резервные копии: выбираем вариант «никогда не удалять»
Если вы выбрали первый способ, то после установки параметров можно смело запускать создание резервной копии bitrix.
Если выбран второй способ, то нужно подключиться к серверу по SSH. Обращаю внимание, что подключаться все команды в консоли нужно под пользователем . Если вы авторизовались под пользователем , то выполните команду
$ su bitrix
Для запуска резервного копирования выполняем следующую команду:
$ php –f /hiome/bitrix/www/ bitrix/modules/main/tools/backup.php
Независимо от того каким образом вы создавали резервную копию, на данный момент у вас есть резервная копия ядра и базы данных, которую вы сможете восстановить с помощью файла битрикс restore.php
Переходим к архивации содержимого папки . Если в папке хранится большое количество файлов и их объем составляет несколько гигабайт, то перед архивацией советую вам проверить свободное место на диске командной
$ df –h
Если места достаточно, то перейдите в папку, где хотите сохранить архив, например, . Затем запустите команду:
$ tar -czvf upload.tar.gz ./upload
Если вдруг вам понадобится восстановить копию, созданную описанным в статье способом, то просто загрузите архив с копией ядра и БД в папку на сервере, где у вас должен размещаться портал (например, ) вместе с файлом и запустите восстановление в браузере.
После успешного завершения установки, загрузите в ту же папку архив с битрикс upload и выполните распаковку:
$ tar -xvf upload.tar.gz
После выполнения описанных выше действий по восстановлению резервной копии, вы должны получить работоспособную копию вашего портала. Не забывайте периодически создавать резервные копии ваших проектов, особенно, перед каким-нибудь важными изменениями, такими как установка обновлений или внедрение каких-нибудь новых возможностей на ваших сайтах или порталах. Таким образом вы сможете избежать лишних проблем и сэкономить свое время, которое понадобится вам на восстановление проекта в случае его поломки.
О приложении
Установка приложения бесплатная если у Вас оформлена и действует подписка на Маркет24.
Если подписка на Маркет24 не оформлена, то ее цена опубликована на официальном сайте Битрикс24.CRM и зависит от вашего используемого вами тарифа и стоимости лицензии https://www.bitrix24.ru/prices/.
Дополнительные возможности работы приложения – возможность сохранения e-mail и номеров телефонов по контактам и компаниям.
Больше деталей и новостей можно узнать на наших каналах:
Настройка на сервере задачи cron
Далее, на сервере в консоли или в панели управления сервером необходимо добавить задачу для cron, которая в указанное время будет запускать скрипт резервного копирования, в моем случае это панель vesta, в ней команды запуска скрипта выглядят так:
Обратите внимание на файлы резервного копирования, для сайта site1.ru я взял стандартный файл бэкапа Битрикс:
/////.
и переименовал в backup_site1.php, чтобы не запутаться в следующий раз, что куда бекапит, это стандартный скрипт backup.php.
А вот для сайта site2.ru мне нужно бэкапить только его публичную часть, если посмотрите на форму настроек бэкапа Битрикс выше, то там нет возможности отключить для второго сайта бэкап БД, ядра и т.д.
Для этого я скопировал опять срипт бэкапа backup.php и переименовал в backup_site2.php, далее настроил под себя:
В файле необходимо задать префикс сайта, чтобы повлиять на имя архива.
Это условие сработает, если не установлены модули bitrixcloud и clouds, я их всегда удаляю, т.к. они не используюся на всех моих сайтах и сайтах клиентов, иначе сработают условия выше, но там название архива будет состоять из даты, должно сработать правильно.
Ну и задать настройки бэкапа вручную осталось, т.к. скрипт backup.php берет настройки из формы на сайте, все настройки в массиве $arExpertBackupDefaultParams, такие:
= (
=> //Отключаем бэкап БД
=> => => => //Архивировать публичную часть
=> => //Отключаем бэкап в облако
=> //Исключить из архива файлы и директории по маске - Включаем для надежности
=> ()//Это те самые папки исключения (маски)
=> //Исключить из архива файлы размером более (0 - без ограничения)
=> //Пропускать символические ссылки на директории
)
Все готово, теперь и многосайтовость при регулярном резервном копировании будет учтена, резервные копии будут по полочкам в наименьшем виде:
О синхронизации бэкапов и самой большой папки сайта /upload/ на свой ПК я расскажу Вам чуть позже, там даже все сайты сможете на локальный ПК синхронизировать и бэкапить, инструменты сейчас есть для этого хорошие.
Прикрепил готовый скрипт резервного копирования с комментариями, где и что изменить, достаточно в одном месте задать префикс для свогео сайта и все.
Резервные копии на стороне хостинг-провайдера
Хранение копий на удаленном FTP-сервере позволяет не только создать бэкапы без потерь и частично их восстановить, но и возобновить сайт, если основной сервер недоступен. По умолчанию сохраняются файлы и базы данных сайта, настройки аккаунта и личные файлы, которые хранятся на хостинге.
Читайте подробнее про резервное копирование сайта на хостинге Reddock.
Восстановление данных из резервных копий происходит в панели управления хостингом. Мы подготовили подробные инструкции в Справочном центре.
Защититесь от непредвиденных ситуаций — проверьте актуальность резервных копий сайта сегодня и убедитесь в наличии доступа к важной информации. Желаем бесперебойной работы вашему проекту!
Резервное копирование сайта в облако 1С-Битрикс
Данный вид резервного копирования доступен если:
- Сайт на активной лицензии 1С-Битркс
- Установлен модуль Облако 1С-Битрикс (bitrixcloud)
- Доступен на сервере php-модуль mcrypt
Если модуль облачных сервисов 1С-Битрикс не установлен, вы увидите такую надпись
Если здесь что-то не работает, можете проверить активность лицензии сайта, она должна быть активна, проверяется на странице Обновление платформы, в строке Обновления доступны вы увидите дату окончания активности лицензии, тогда и следует продлить ее.
Marketplace - Обновление платформы
Но если лицензия уже закончилась, то вы увидите такое сообщение на этой странице, в этом случае воспользоваться облаком вы уже не сможете, только локальная резервная копия остается.
В моем случае лицензия была активна, но не установлен модуль облачного резервного копирования, устанавливаются родные и встроенные Битрикс модули здесь по кнопке Установить
Настройки - Настройки продукта - Модули
Далее возвращаемся к созданию резервной копии и без всяких настроек создаем выбираем размещение резервной копии в облаке 1С-Битрикс и нажимаем Создать резервную копию
Далее вводим пароль для шифрования архива, обязательно его запомните или где-то запишите, если забудете, восстановить бэкап будет невозможно без пароля.
Пароль рекомендуется не менее 6 знаков длинной с использованием спецсимволов.
В облаке будет храниться только 3 последних бэкапа.
Если место в облаке ограничено, то для сохранения последней копии удалятся все предыдущие.
Если не хватает места для сохранения единственной копии, то будет выведено предупреждение.
В этом случае применяются системой настройки создания резервной копии по умолчанию, но вы также, как и при создании локальной резервной копии, можете Включить экспертные настройки создания резервной копии и настроить их под свои задачи.
При создании резервной копии в облако настройки немного изменятся
- Шифровать данные резервной копии = ВКЛ
- Исключить из базы данных статистику, ПИ, ЖС = ВЫКЛ
- Максимальный размер несжатых данных в одной части архива = 100Мб
- А также в архив будет включена резервная копия БД, ядро и публичная часть, т.е. полный бэкап будет резервироваться в облаке.
После создания резервной копии в облаке вы можете в этом убедиться перезагрузив страницу и открыв Экспертные настройки, они будут такими
Вот столько маленьких файлов будет загружаться в облако в пределах 100 Мегабайт
Сделано это специально, чтобы не забивать полностью большим архивом канал выделенный вашему сайту хостингом, а также это быстрей по времени, чем грузить один большой файл размером в Гигабайты, поменьше нагрузка на сервер, но больше времени потребуется на создание резервной копии + закачка архива в облако вашим сервером.
Обратите внимание!
а) Резервную копию сайта из облачного хранилища 1С-Битрикс можно только восстановить.
б) Данный метод резервного копирования очень ресурсоемок и более продолжительный по времени, чем больше ваш сайт, тем больше будет нагрузка на сервер, дольше будет запущен бэкап по времени. Возможны долгие ответы страниц посетителям сайта, причем до нескольких часов может создаваться такая резервная копия, т.е. в момент повышенных нагрузок часами все это время и посетители вашего сайта могут наблюдать неприятно долгое открытие страниц и долгий отклик сайта.
В некоторых случаях данный вариант вообще лучше отключить и не использовать, просто забыть и воспользоваться резервным копированием хостера (покупкой отдельной услуги) или резервным копированием самим сервером, или отдельными программами на ваш ПК, но не php-скриптом.
Пример, как сохранить контакты – экспорт контактов
- Открыть сущность «Контакты».
- Выбрать с помощью фильтров нужные контакты или всю базу данных.
- Активировать меню «шестеренку» и выбрать опцию экспорт в нужном формате (обычно это формат CSV или Excel).
Маленькие особенности, но с большими последствиями:
Восстановление
Прежде чем выполнить восстановление портала, необходимо установить веб-окружения Битрикс. Для этого можно воспользоваться инструкцией Установка CRM Битрикс24 на Linux (первый подраздел).
Мы рассмотрим процесс восстановления с помощью веб-интерфейса и с помощью командной строки Linux.
Веб-интерфейс
Резервные копии хранятся в каталоге <путь установки битрикс>/www/bitrix/backup. В нашем примере это /home/bitrix/www/bitrix/backup. Переносим все файлы резервных копий в данную папку.
В следующем окне нажимаем ДАЛЕЕ для начала восстановления:
После распаковки файлов, мастер предложит ввести данные для восстановления базы данных — по умолчанию он подставит значения из файла dbconn.php:
Начнется процесс восстановления базы данных:
Ручное восстановление
Ручное восстановление, как и создание резервной копии, делается в два этапа — копирование файлов портала и восстановление базы данных. Рассмотрим эти процессы.
1. Восстановление файлов. Необходимо восстановить содержимое каталога /home/bitrix/www — для этого переносим в него содержимое одного из архивов.
Если мы просто копируем данные, стоит обратить внимание, что в каталоге есть скрытые файлы, которые начинаются со знака точки. Команды переноса или копирования файлов, при использовании знака *, не учитывают скрытые данные — их нужно переносить отдельно. Поэтому если вы использовали именно такой подход для переноса данных, учитывайте данный нюанс.
После переноса данных, задаем права:
chown -R bitrix:bitrix /home/bitrix/www
* мы указали, что владелец каталога и всего его содержимого должен быть bitrix.
2. Восстанавливаем базу данных. Сначала смотрим содержимое файла dbconn.php:
* где /home/bitrix — базовый каталог, куда был установлен битрикс24.
Нам интересны следующие значения:
- $DBLogin — пользователь, под которым идет подключение к базе.
- $DBPassword — пароль для подключения к базе.
- $DBName — имя базы данных.
Подключаемся к базе:
mysql -uroot -p
* напоминаю, что после установки среды окружения битрикс24, пароль для суперпользователя mysql можно посмотреть командой cat /root/.my.cnf.
Создаем базу данных:
> CREATE DATABASE bitrix_52 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci;
* где bitrix_52 — имя базы, которая указана в переменной $DBName (файл выше).
Создаем пользователя для доступа к базе:
* данные команды создадут пользователя bitrix0 с паролем rqHWvA1tepbFhu9G для доступа к базе bitrix_52. Какие именно данные вводить мы должны увидеть в файле dbconn.php выше.
Выходим из sql-оболочки:
Теперь переносим дамп на новый сервер и выполняем восстановление базы данных, например, командой:
mysql -u root -p bitrix_52 < /backup/bitrix/mysql.sql
* в данном примере мы восстановим базу bitrix_52 из дампа /backup/bitrix/mysql.sql.
Подробнее о восстановлении mysql или mariadb.
ВАЖНО
ВАЖНО
Режим экспорта лидов и сделок осуществляется только в режиме отображения данных «Список». Экспорт данных остальных сущностей совпадает с алгоритмом «Контакты».
Как восстановить последний бэкап сайта в 1С-Битрикс
Если последняя копия создана в облако 1С-Битрикс, кликните на «Восстановить».
Как организовать экспорты в облачной версии для компании с средним объемом информации и работающей обычном режиме?
На практике чаще всего резервное копирование для облачных компаний проводится с частотой один раз в неделю. Время ручного копирования (экспорта) зависит от объема информации и обычно занимает от 20 до 60 минут.
Резервные копии 1С-Битрикс
В 1С-Битрикс предусмотрено сохранение резервных копий в Облако.
Система бесплатно предоставляет место для хранения 3 резервных копий на каждую активную лицензию.
Объем пространства зависит от лицензии.
Нужно учитывать, что доступ к копиям осуществляется по лицензионному ключу и паролю. Без знания пароля никто, включая коллег из «1С-Битрикс», не сможет получить доступ к данным.
Как и в каком объеме сохраняется информация?
Для тарифа облака сохранение информации происходит автоматически. Битрикс24.CRM сам делает полную копию и копию модуля CRM один раз в сутки.
Восстановление информации происходит только по запросу администратора портала технической поддержкой Битрикс24.CRM.
В облаке
На платформе 1С-Битрикс воспользуйтесь облачным сервисом «Облако 1С-Битрикс». Выполните следующие шаги:
Этот процесс также автоматизируется с помощью сторонних решений (подходит для создания в облачном хранилище). Это поможет не только сохранить копию сайта, но и избежать потери данных при сбое оборудования.
Как это работает
Набор данных ресурса хранится на сервере хостинговой компании. Эта информация копируется и отправляется в другое место. Этим местом может быть ПК, удалённый сервер другого сервиса, файлообменик или облачное хранилище.
Как правило, хранят сразу несколько копий, например, одну за последний месяц. Не сразу возможно выявить проблемы, и возврат к предыдущей версии окажется бесполезным. Таким образом, хранение ежемесячных копий в хранилище — это не пустая трата места.
Поскольку большинство проектов не так уж много весят, сомнительно, что понадобится больше 450 ГБ места для хранения. Но если такое произошло, то арендуйте выделенный сервер.
Внеочередную копию необходимо осуществлять перед изменениями, которые повлияют на работу сайта (правка кода, обновление лицензии или плагинов, изменение БД и др.)
Настройка регулярного резервного копирования в Битрикс
Делать регулярное резервное копирование сайтов на Битрикс будем так:
- Для сайта site1.ru будет делаться полная резервная копия сайта, включая ядро Битрикс и БД, но исключим всякие логи, кеши, статистику и прочее.
- Для сайта site2.ru будем делать резервную копию только публичной части, т.е. исключаем из резервной копии символьные ссылки на папки /bitrix/ и /upload/ и исключаем БД.
При такой настройке резервные копии будут создаваться отдельно для каждого сайта, размер их будет минимальный, вот так:
Хочу обратить внимание, что в моем случае для сайта site1.ru исключена из резервной копии папка /upload/, т.к. она размером почти 10Гб и бэкапить ее каждый раз нет смысла, этут папку будем ежедневно синхронизировать на локальном копьютере, поэтому размер полной резервной копии небольшой.
О синхронизации и бэкапах сайта на локальный компьютер я расскажу в следующий раз.
Вот так будет выглядеть форма настроек скрипта периодического запуска для site1.ru (полное резервное копирование сайта)
У Вас настройки должны быть точно такие, кроме раздела настроек Удаление старых копий, т.е. когда удалять старые резервные копии настройте как удобно в Вашем случае, можете оставить такими, не забудьте сохранить настройки.
ВАЖНО
- Информация между созданием копии, обращением администратора портала и временем восстановления занимает несколько суток.
- Данные в этом промежутке не сохраняется и не восстанавливаются.
- Добрый совет – в период восстановления нужно вести параллельный учет и проводить частые ручные экспорты, чтобы потом импортом внести данные в CRM которые «потеряются»..
Для тарифа «Коробка» пользователь сам сохраняет и регулирует частоту сохранения полной копии, базы данных и файлов. Обычно частота автоматического сохранения выбирается каждый рабочий час. В этом случае «мертвый» промежуток в течение, которого есть риск потерять информацию сокращается.
Из каких сущностей самостоятельно вручную в «облаке» можно и нужно последовательно и периодически сохранять резервные копии в период предшествующий восстановлению?
- Контакты
- Компании
- Лиды
- Сделки
- Товары
- Счета
- Звонки
- Смарт-сущности
Задачи (есть ограничения по объему и количеству, процедура длительная, для экспорта задач рекомендуется использовать внешние и сторонние приложения).
Я хочу экспортировать контакты, но у меня нет кнопки «экспорт».
Все просто обратитесь к своему руководителю, сейчас вам включен запрет на это действие. Если вам для исполнения служебных обязанностей необходим экспорт данных, то администратор портала предоставит вам это право.
Возможные ошибки
Mysql query error: (1298) Unknown or incorrect time zone
Ошибка появляется в браузере при попытке открыть восстановленный портал.
Причина: при попытке выполнить команду SET GLOBAL time_zone в MySQL система не может найти в своей базе используемый часовой пояс.
Решение: загружаем информацию о часовых поясах в СУБД. Для этого просто выполним команду:
Мы можем получить предупреждения:
После выполнения команды проблема должна исчезнуть.
В конкретную папку сайта
- Воспользуйтесь встроенным инструментом «Резервирование и восстановление», которое расположено в панели управления.
- Нажмите «Создать резервную копию» и укажите параметры копирования, такие как путь к папке назначения и включение сохранения базы данных.
- Установите расписание копирования, например, подключите ежедневное создание копии в конкретное время.
- Нажмите кнопку «Начать создание резервной копии».
- После завершения, копия расположена в указанной папке на хостинге.
Важно помнить, что копирование в папку на хостинге — не надёжный способ сохранения данных, так как при сбое оборудования или хостинга данные будут утеряны. Поэтому рекомендуется также использовать другие методы резервного копирования, например, сохранение копии на внешний сервер или в облачное хранилище.
На первый взгляд, сделать резервную копию легко, но есть свои нюансы. При возникновении ошибок надо вносить правки в параметры, и если допустить ошибку, то копия перестанет выгружаться или начнёт выгружаться неправильно. Поэтому этот вопрос лучше доверить администратору сайта, если в штате нет специалиста, то вы всегда можете обратиться за помощью в студию DMI.
Локальная резервная копия сайта при многосайтовости
Если настроена многосайтовость на разных доменах, то на странице создания бэкапа вы увидите список сайтов, который можно архивировать как вместе в одну резервную копию, так и раздельно друг от друга, очень удобно
а) Если архивировать полностью все сайты, то создается одна полная резервная копия сайта включая общую БД для всех сайтов в списке и две папки /bitrix
и /upload
а публичная часть остальных сайтов сохраняется в архиве в папке типа /bitrix/backup/sites/ID_сайта
Для восстановления всех сайтов разработчик должен вручную перенести папки публичной части сайтов в соответствующие папки на сервере с созданием соответствующих символьных ссылок на сайты, а полностью восстанавливается скриптом restore.php
только один главный сайт, который первый в списке.
Но это уже отдельная тема, я расскажу вам о ней позже, а выглядит в архиве это вот так
б) Если архивировать все сайты раздельно, тогда у не главных сайтов создается архив только публичной части этого сайта + полный бекап БД, а папки /bitrix
и /upload
будут только у главного сайта в архиве.
Обратите внимание в этом случае на размеры сайтов в архиве, на каждый сайт отдельный бэкап, при этом только в одном главном сайте полностью все данные кроме других сайтов, которые будут отдельно.
Если же настроена многосайтовость на одном домене, но в разных папках, то такой возможности создания резервной копии увы не будет, все одном сайте получается, а не в разных.
Резервное копирование
Мы рассмотрим два варианта создания резервной копии для портала Битрикс24 — посредством графического веб-интерфейса и с помощью командной строки Linux.
Веб-интерфейс
Входим в панель управления и переходим в разделы Рабочий стол — Настройки — Инструменты — Резервное копирование — Создание резервной копии. На вкладке Резервное копирование:
Ждем его завершения. После, части архива будут помещены в каталог /home/bitrix/www/bitrix/backup.
Для автоматического резервного копирования переходим в разделы Рабочий стол — Настройки — Инструменты — Резервное копирование — Регулярное резервное копирование и включаем его. В настройках также можно выбрать хранение бэкапа на локальном компьютере или в облаке Битрикс.
Ручное резервное копирование
Чтобы сделать резерв Битрикс24, необходимо скопировать файлы портала Битрикс, а также создать дамп базы данных. Рассмотрим оба процесса по очереди.
1. Копирование файлов. Нам нужно скопировать содержимое каталога /home/bitrix/www, где /home/bitrix — базовый каталог установки Битрикс.
Ниже приведем различные примеры копирования.
а) простое копирование файлов:
cp -R /home/bitrix/www/* /backup/bitrix/www/
* в данном примере мы копируем содержимое каталога /home/bitrix/www в папку /backup/bitrix/www.
б) синхронизация файлов с помощью rsync:
rsync -avv /home/bitrix/www/ /backup/bitrix/www/
* в данном примере мы будем поддерживать в актуальном состоянии каталог /home/bitrix/www, копия которого будет храниться в папке /backup/bitrix/www.
в) создание архива:
tar -zcvf /backup/bitrix/archive.tar.gz /home/bitrix/www
* данная команда создаст архивный файл archive.tar.gz, сжав содержимое каталога /home/bitrix/www.
2. Создание дампа базы данных. Для начала, посмотрим имя базы данных:
* где /home/bitrix — базовый каталог, куда установлен битрикс.
В моем примере строка вернула имя для базы bitrix_52, значит команда для создания дампа будет:
mysqldump -uroot -p bitrix_52 > /backup/bitrix/mysql.sql
* команда потребует ввести пароль от пользователя root (после установки веб-окружения битрикс24, пароль для суперпользователя был сохранен в файл /root/.my.cnf).
Подробнее о создании дампа mysql/mariadb.
3. Скрипт для резервного копирования. Для примера, приведем следующий скрипт:
- #!/bin/sh
- PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
- fdate=`date +%Y-%m-%d`
- my_user=’backup’
- my_password=’backup123!’
- my_base=’bitrix_52′
- path_backup=’/backup/bitrix’
- mysqldump -u$my_user -p$my_password $my_base | gzip > $path_backup/mysql/my_$fdate.sql.zip
- tar -zcf $path_backup/archive/ar_$fdate.tar.gz /home/bitrix/www
- fdate — текущая дата. Подставляется в название файлов резервных копий.
- my_user — пользователь для подключения к СУБД.
- my_password — пароль для подключения к СУБД.
- my_base — имя базы данных.
- path_backup — путь до каталога, куда складываем резервные копии.
Данный скрипт выполнит архивирование файлов и создания дампа базы данных.
Локальная резервная копия сайта без многосайтовости
В 1С-Битрикс резервное копирование уже почти совершенно, как и кэширование, есть целый раздел настроек для резервирования сайта, для этого переходим в:
Настройки - Инструменты - Резервное копирование - Создание резервной копии
Тут выбираем Размещение резервной копии — в папке сайта
Далее выбираем Параметры — Включить экспертные настройки создания резервной копии
На данный момент для себя всегда так делаю резервные копии, данные настройки подойдут для мощных серверов, для вашего же сервера они могут оказаться сильно завышены, часто приходится их снижать до оптимальных.
Далее рассмотрим все заданные настройки детально по пунктам.
1.1. Архивировать БД (Базу данных)
Обязательно в архив отправляем БД и исключаем статистику, поисковый индекс и журнал событий, т.к. это все может занимать большой объем данных, чем больше БД, тем больше это будет занимать места
1.2. Архивировать ядро
Обязательно архивируем ядро (движок Битрикса, систему) иначе как его потом восстановить
1.3. Архивировать публичную часть
Обязательно архивируем публичную часть, это все, что видят посетители вашего сайта, внешняя его часть, открытая для просмотра, шаблон, файлы и разделы и т.д.
1.4. Исключить из архива файлы и директории по маске
Исключаем из архива файлы и директории по маске до версии Битрикс 12, в старших версиях типа Битрикс 16 в этом нет смысла, сейчас резервное копирование хорошо доработано, все эти папки он исключает сам, но все же есть нюансы, о них расскажу ниже.
Если Битрикс младше 12 версии, что надо исключить 100%:
/bitrix/backup
— в старых версиях в бэкап летят все прошлые бэкапы и архив сайта бесконечно может расти, в итоге израсходовать все дисковое пространство сервера, наглядно можно заметить, когда например, кроном прилетят сообщения об ошибках, что невозможно что-то сделать или на сайте перестает работать ресайз изображений и все картинки расползаются по дизайну, шаблон сайта внешне просто разлетается.
Но все равно эта папка в архиве будет, т.к. в нее скрипт размещает дамп БД, для дальнейшего восстановления сайта, но прошлых бэкапов там уже не будет.
/bitrix/cache
— исключаем неуправляемый кэш;
/bitrix/managed_cache
— исключаем управляемый кэш;
/bitrix/stack_cache
— исключаем файлы кэша с «вытеснением»;
/upload/resize_cache
— исключаем файлы кэша ресайза изображений;
Это папка для динамического ресайза изображений с помощью API Битрикс, после восстановления сайта кэш автоматически будет создаваться при открытии страниц посетителями, изображения автоматически уменьшаются и один раз создается кэш, исходные изображения хранятся в других папках и с ними ничего не случится.
Также будет полезно избавиться от множества брошенных файлов в кэше, от неиспользуемого мусора.
Это были самые необходимые папки для исключения из бэкапа, что еще можно исключить?
Есть еще одна папка в которой хранятся всякие мастера и демо-решения
Это будет прилично занимать места в каждом бэкапе, в моем случае это базовая установка 1С-Битрикс редакция Бизнес размер папки 67 Мегабайт, но у вас может быть и больше, если установлены другие мастера.
Но если исключить всю папку, то вы можете потерять такой полезный мастер, как Местоположения 2.0, если вы разработчик, сможете вручную залить мастер взяв с другого сайта, когда понадобится, т.е. он может быть понадобится, а может быть и нет, всяко бывает, поэтому, если вы не разработчик, наверно самым правильным решением будет удалить ненужные мастера через админку, а нужные оставить для дальнейшего использования, вдруг понадобятся, удаляются мастера и решения в двух местах:
1.4.1. Сначала в списке установленных решений в разделе Marketplace необходимо Удалить, потом Стереть ненужные решения, у меня их четыре.
1.4.2. Далее чистим список мастеров от ненужных, в моем случае всего два мастера будут мусором, все остальное может пригодиться, в том числе и Мастер настройки Интернет-магазина
1.5. Исключаем из архива файлы определенного размера
Это вам пригодится для исключения из бэкапа больших файлов загруженных на сайт, те же архивы, видео и т.д, но если оно действительно не понадобится при восстановлении сайта.
Я всегда оставляю как есть, т.е. 0 кб, не приходилось ничего исключать.
1.6. Пропускать символические ссылки на директории
Тут у меня всегда тоже все по-умолчанию, галочка снята, но где-то может пригодиться, если есть символьные ссылки на сторонние папки на сервере, которые тоже видимо можно забекапить, но об этом знает только ваш разработчик.
Далее идут настройки из раздела Режим архивации, которыми можно регулировать нагрузку на процессор и в целом на веб-сервер при создании бэкапа.
1.7. Шифровать данные резервной копии
При локальном бэкапе шифровать архив не нужно, но можно, сейчас слить локальный архив методом тыка невозможно через адресную строку например, а вот поможет в случае, когда взломают например FTP и сольют бекап сайта, зашифрованный бекап не распакуют, а вот обычный бекап без шифрования откроют.
Но если взломают сайт по FTP, то и запросто сбросят пароля администратора, сделают бекап в админке и сольют сайт, так что, я не шифрую, это повышает нагрузку на сервер и не имеет особого смысла, для защиты бекапа локально есть идейки, но я пока еще их не опробовал, обязательно поделюсь.
1.8. Проверить целостность архива после завершения
Суть проверки целостности архива после его завершения в том, что идет виртуальная распаковка без создания файлов. Это гарантирует, что сам по себе файл получился корректный, но полную гарантию целостности резервной копии можно дать только после восстановления сайта.
1.9. Отключить компрессию архива
Отключив сжатие бэкапа мы снижаем нагрузку на процессор, но увеличиваем размер бэкапа на диске.
У меня железки мощные, поэтому я опцию не включаю.
1.10. Длительность шага и Интервал
Этими настройками также можно регулировать нагрузку на веб-сервер, но об этом расскажу ниже.
На большинстве хостингах важно установить Длительность шага не больше 29 сек. и Интервал не меньше 1 сек.
Опция напрямую зависит от настроек PHP вашего хостинга, по умолчанию у многих установлено в 30 сек.
max_execution_time = 30
Поэтому можете наблюдать такую ошибку, когда заданное вами время явно превышает допустимое на веб-сервере
При установленном значении в «0» архивация будет выполнена за один шаг.
Как проверить разрешенное сервером время выполнения php-скрипта?
— Можно опытным путем проверить, попробуйте установить Длительность шага 60 сек., если появится ошибка, пробуйте 31 сек, если есть ошибка, пробуйте 29 сек, если нет ошибки, значит 30 сек. ограничение.
— Можно в админке Битрикс узнать здесь:
Настройки - Инструменты - Диагностика - Настройки PHP
На этой странице увидим стандартную страницу настроек php.ini на веб-сервере
Находим опцию поиском браузера, в Firefox это Ctrl + F, но тут опять возникают вопросы, видим два столбца с разными значениями, куда смотреть, что действует?
Local Value — показывает настройки хоста (сайта) в котором вы просматриваете настройки, эти значения локальные в рамках сайта, они могут задаваться в самом Битрикс в файлах
/bitrix/php_interface/dbconn.php
.htaccess
Master Value — эти значения задаются в настройках сервера в файле php.ini в зависимости от окружения на вашем сервере, это может быть:
/etc/php5/apache2/php.ini
/etc/php5/fpm/php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini
В панели управления сервером ISP Manager это может быть:
/etc/apache2/apache2.conf
/etc/apache2/conf.d/site.ru.conf
Но это еще не все места, зависит от администратора сервера, это самые основные.
Что я хотел этим сказать, чтобы вы не задавали в Local Value, значение в Master Value будет приоритетным и ограничивать настройку Local Value максимально разреженным значением.
Например, в Local Value = 60, а в Master Value = 30
, все равно через 30 сек работа скрипта будет прервана, а вот если в Local Value = 10, а в Master Value = 30
то скрипт будет прерван через 10 сек.
1.11. Максимальный размер несжатых данных в одной части архива
В этом случае рекомендую выбрать среднее значение в 700 — 1000 Мб, не сильно много будет файлов и небольшой размер.
Можно ли автоматизировать процедуру сохранения данных?
После установки приложения администратор портала выбирает обязательные источники, делает полную синхронизацию, создает, подключает отдельный отчет, делает резервную копию отчета, перепрописывает базы данных.
Обработка данных происходит с периодом раз в 10 минут, а отчет каждый час. При необходимости обновление запускает вручную по требованию в режиме онлайн. В результате по факту каждый час происходит автоматическое сохранение «слепка» данных всех сущностей без участия человека с минимальным периодом обновления.
Рассказываем как сделать резервную копию сайта
Для резервного копирования на 1С-Битриксе воспользуйтесь стандартными инструментами панели управления. Путь: Настройки > Инструменты > Резервное копирование > Создание резервной копии.
Предложено 2 способа хранения копий:
- В облаке Битрикса.
- Локальное хранение на хостинге.
А теперь подробнее.
Рекомендации по снижению нагрузки на сервер при резервном копировании сайта на 1С-Битрикс
Как я выше говорил, регулировать нагрузку на сервере при создании резервных копий служит вот этот раздел настроек
Данные на скрине настройки подойдут для более мощных серверов, если ваш сайт запущен на хостинге с ограничениями или просто слабое железо, то регулировать настройки и снижать нагрузку на сервер рекомендую таким образом:
4.1. Сначала уменьшаем Максимальный размер несжатых данных в одной части архива примерно до 700 Мб.
4.2. Потом уменьшаем Длительность шага примерно на 10 сек, т.е. до 20 сек.
4.3. Потом увеличиваем время Интервала до 2-3 сек и далее при необходимости.
Остальные настройки пока не трогаем, выглядеть это будет так:
Если этого еще много и бэкап по прежнему сильно нагружает сервер, еще увеливаем интервал и еще уменьшаем Длительность шага, вот так:
Если все еще не поняли логику, объясняю:
Длительность шага, сек. — чем меньше, тем меньшее время запущен скрипт, но чаще будет запускаться, например, за 30 сек. он может запуститься всего один раз и успеть сделать бэкап, а при 10 сек. он может сделать бэкап за три запуска, что уменьшит длительность нагрузки на процессор и общую нагрузку.
Я не рекомендую ставить больше 29 сек., потому что при 30сек. скрипт уже может умереть, это будет создавать очень большую нагрузку на сервер вплоть до падения MySQL, а также в это время посетители вашего сайта будут очень долго ждать отклика страницы, т.к. при сильной нагрузке на сервер сильно проседает его время отклика.
Интервал, сек. — интервал ожидания следующего запуска скрипта, т.е. если скрипт не успел создать бэкап при первом запуске, он подождет указанное время 5 сек. и опять запустится на 10 сек., и так пока не завершит создание резервной копии.
Если оптимизации выше еще не помогают, хостинг следует менять, но что поделать, не хочется менять и тратиться на переезд, есть еще возможность снизить нагрузку на сервер:
4.4. Пробуем еще Отключить компрессию архива.
Операция накладная, отключение сжатия позволяет снизить нагрузку на процессор, но при этом увеличивается размер архива и соответственно расходуем больше дискового пространства на сервере.
4.5. Ну и последней каплей будет отключение Проверить целостность архива после завершения
Если это не помогает, однозначно меняйте хостинг.
Заключение
В общем, все случаи уникальны и требуют отдельного внимания разработчика, ориентируйтесь на материал и пробуйте свои настройки.
Еще раз хочу подчеркнуть, кто не полностью прочитал статью, в последних версиях Битрикс 16 исключать из архива временные файлы и директории по маске не нужно, в нем это предусмотрено, т.е. даже вот так все будет в порядке
А в версиях младше, примерно до Битрикс 12, нужно прописывать исключения, чтобы узнать это, вам необходимо хотя бы один раз создать архив сайта без исключений и проверить наличие там папок из первой главы, если они есть, следуйте инструкциям с самого начала.
Также хочу отметить, если вы создаете бэкап без включения экспертных настроек, они будут сбрасываться в настройки по умолчанию каждый раз, а вот при резервном копировании по крону настройки будут браться из экспертных, т.е. один раз настроили бекап и дальше регулярные резервные копии делаются по единому сценарию без сброса к стандартным, как в админке, возможно это недоработка, возможно так задумано, не знаю, время покажет.
Регулярное резервное копирование и восстановление сайта из резервных копий требует отдельного внимания, поэтому я расскажу о них в следующих статьях.
Материалы по теме
- Администратор. Базовый. Резервное копирование
- 1C-Битрикс: Управление сайтом. Резервное копирование