Резервное копирование сайта Битрикс на ПК с Handy Backup. Битрикс резервное копирование
Резервное копирование и бэкап веб-сайта 1C Битрикс
Сегодня научимся создавать резервную копию сайта на 1С-Битрикс локально на веб-сервер и в облако 1С-Битрикс
Статья уже не новая, решил освежить ее с учетом новых возможностей резервного копирования и своих знаний.
1. Локальная резервная копия сайта без многосайтовости
В 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 Битрикс, после восстановления сайта кэш автоматически будет создаваться при открытии страниц посетителями, изображения автоматически уменьшаются и один раз создается кэш, исходные изображения хранятся в других папках и с ними ничего не случится. Также будет полезно избавиться от множества брошенных файлов в кэше, от неиспользуемого мусора.
Это были самые необходимые папки для исключения из бэкапа, что еще можно исключить? Есть еще одна папка в которой хранятся всякие мастера и демо-решения
/bitrix/wizards
Это будет прилично занимать места в каждом бэкапе, в моем случае это базовая установка 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где *user* - имя пользователя на сервере в котором запущен данный сайт, т.е. у вас может быть любой пользователь.
В панели управления сервером 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. Максимальный размер несжатых данных в одной части архива
Системные ограничения php не позволяют делать размер одной части архива более 2 Гб, очень удобно хранить архивы в одном файле, но неудобно скачивать/закачивать такие большие файлы на сервер при медленном интернете и FTP-сервером вроде бы может быть наложено ограничение на загрузку больших файлов на сервер, возможно скачать получится, но с закачкой бэкапа на сервер возможен облом.
В этом случае рекомендую выбрать среднее значение в 700 - 1000 Мб, не сильно много будет файлов и небольшой размер.
2. Локальная резервная копия сайта при многосайтовости
Если настроена многосайтовость на разных доменах, то на странице создания бэкапа вы увидите список сайтов, который можно архивировать как вместе в одну резервную копию, так и раздельно друг от друга, очень удобноа) Если архивировать полностью все сайты, то создается одна полная резервная копия сайта включая общую БД для всех сайтов в списке и две папки /bitrix и /upload а публичная часть остальных сайтов сохраняется в архиве в папке типа /bitrix/backup/sites/ID_сайта
Для восстановления всех сайтов разработчик должен вручную перенести папки публичной части сайтов в соответствующие папки на сервере с созданием соответствующих символьных ссылок на сайты, а полностью восстанавливается скриптом restore.php только один главный сайт, который первый в списке.
Но это уже отдельная тема, я расскажу вам о ней позже, а выглядит в архиве это вот так
б) Если архивировать все сайты раздельно, тогда у не главных сайтов создается архив только публичной части этого сайта + полный бекап БД, а папки /bitrix и /upload будут только у главного сайта в архиве.
Обратите внимание в этом случае на размеры сайтов в архиве, на каждый сайт отдельный бэкап, при этом только в одном главном сайте полностью все данные кроме других сайтов, которые будут отдельно.
Если же настроена многосайтовость на одном домене, но в разных папках, то такой возможности создания резервной копии увы не будет, все одном сайте получается, а не в разных.
3. Резервное копирование сайта в облако 1С-Битрикс
Данный вид резервного копирования доступен если:
- Сайт на активной лицензии 1С-Битркс
- Установлен модуль Облако 1С-Битрикс (bitrixcloud)
- Доступен на сервере php-модуль mcrypt
Если модуль облачных сервисов 1С-Битрикс не установлен, вы увидите такую надпись
Но если лицензия уже закончилась, то вы увидите такое сообщение на этой странице, в этом случае воспользоваться облаком вы уже не сможете, только локальная резервная копия остается.
В моем случае лицензия была активна, но не установлен модуль облачного резервного копирования, устанавливаются родные и встроенные Битрикс модули здесь по кнопке УстановитьНастройки - Настройки продукта - Модули
Далее возвращаемся к созданию резервной копии и без всяких настроек создаем выбираем размещение резервной копии в облаке 1С-Битрикс и нажимаем Создать резервную копию
Далее вводим пароль для шифрования архива, обязательно его запомните или где-то запишите, если забудете, восстановить бэкап будет невозможно без пароля. Пароль рекомендуется не менее 6 знаков длинной с использованием спецсимволов.
В облаке будет храниться только 3 последних бэкапа. Если место в облаке ограничено, то для сохранения последней копии удалятся все предыдущие. Если не хватает места для сохранения единственной копии, то будет выведено предупреждение.
В этом случае применяются системой настройки создания резервной копии по умолчанию, но вы также, как и при создании локальной резервной копии, можете Включить экспертные настройки создания резервной копии и настроить их под свои задачи.
При создании резервной копии в облако настройки немного изменятся
- Шифровать данные резервной копии = ВКЛ
- Исключить из базы данных статистику, ПИ, ЖС = ВЫКЛ
- Максимальный размер несжатых данных в одной части архива = 100Мб
- А также в архив будет включена резервная копия БД, ядро и публичная часть, т.е. полный бэкап будет резервироваться в облаке.
Вот столько маленьких файлов будет загружаться в облако в пределах 100 Мегабайт
Сделано это специально, чтобы не забивать полностью большим архивом канал выделенный вашему сайту хостингом, а также это быстрей по времени, чем грузить один большой файл размером в Гигабайты, поменьше нагрузка на сервер, но больше времени потребуется на создание резервной копии + закачка архива в облако вашим сервером.
Обратите внимание!а) Резервную копию сайта из облачного хранилища 1С-Битрикс можно только восстановить.
б) Данный метод резервного копирования очень ресурсоемок и более продолжительный по времени, чем больше ваш сайт, тем больше будет нагрузка на сервер, дольше будет запущен бэкап по времени. Возможны долгие ответы страниц посетителям сайта, причем до нескольких часов может создаваться такая резервная копия, т.е. в момент повышенных нагрузок часами все это время и посетители вашего сайта могут наблюдать неприятно долгое открытие страниц и долгий отклик сайта. В некоторых случаях данный вариант вообще лучше отключить и не использовать, просто забыть и воспользоваться резервным копированием хостера (покупкой отдельной услуги) или резервным копированием самим сервером, или отдельными программами на ваш ПК, но не php-скриптом.
4. Рекомендации по снижению нагрузки на сервер при резервном копировании сайта на 1С-Битрикс
Как я выше говорил, регулировать нагрузку на сервере при создании резервных копий служит вот этот раздел настроекДанные на скрине настройки подойдут для более мощных серверов, если ваш сайт запущен на хостинге с ограничениями или просто слабое железо, то регулировать настройки и снижать нагрузку на сервер рекомендую таким образом:
4.1. Сначала уменьшаем Максимальный размер несжатых данных в одной части архива примерно до 700 Мб. 4.2. Потом уменьшаем Длительность шага примерно на 10 сек, т.е. до 20 сек. 4.3. Потом увеличиваем время Интервала до 2-3 сек и далее при необходимости.
Остальные настройки пока не трогаем, выглядеть это будет так:
Если этого еще много и бэкап по прежнему сильно нагружает сервер, еще увеливаем интервал и еще уменьшаем Длительность шага, вот так:
Если все еще не поняли логику, объясняю:
Длительность шага, сек. - чем меньше, тем меньшее время запущен скрипт, но чаще будет запускаться, например, за 30 сек. он может запуститься всего один раз и успеть сделать бэкап, а при 10 сек. он может сделать бэкап за три запуска, что уменьшит длительность нагрузки на процессор и общую нагрузку.
Я не рекомендую ставить больше 29 сек., потому что при 30сек. скрипт уже может умереть, это будет создавать очень большую нагрузку на сервер вплоть до падения MySQL, а также в это время посетители вашего сайта будут очень долго ждать отклика страницы, т.к. при сильной нагрузке на сервер сильно проседает его время отклика.
Интервал, сек. - интервал ожидания следующего запуска скрипта, т.е. если скрипт не успел создать бэкап при первом запуске, он подождет указанное время 5 сек. и опять запустится на 10 сек., и так пока не завершит создание резервной копии.
Если оптимизации выше еще не помогают, хостинг следует менять, но что поделать, не хочется менять и тратиться на переезд, есть еще возможность снизить нагрузку на сервер:
4.4. Пробуем еще Отключить компрессию архива. Операция накладная, отключение сжатия позволяет снизить нагрузку на процессор, но при этом увеличивается размер архива и соответственно расходуем больше дискового пространства на сервере.
4.5. Ну и последней каплей будет отключение Проверить целостность архива после завершения Если это не помогает, однозначно меняйте хостинг.
5. Заключение
В общем, все случаи уникальны и требуют отдельного внимания разработчика, ориентируйтесь на материал и пробуйте свои настройки.
Еще раз хочу подчеркнуть, кто не полностью прочитал статью, в последних версиях Битрикс 16 исключать из архива временные файлы и директории по маске не нужно, в нем это предусмотрено, т.е. даже вот так все будет в порядке
А в версиях младше, примерно до Битрикс 12, нужно прописывать исключения, чтобы узнать это, вам необходимо хотя бы один раз создать архив сайта без исключений и проверить наличие там папок из первой главы, если они есть, следуйте инструкциям с самого начала.
Также хочу отметить, если вы создаете бэкап без включения экспертных настроек, они будут сбрасываться в настройки по умолчанию каждый раз, а вот при резервном копировании по крону настройки будут браться из экспертных, т.е. один раз настроили бекап и дальше регулярные резервные копии делаются по единому сценарию без сброса к стандартным, как в админке, возможно это недоработка, возможно так задумано, не знаю, время покажет.
Регулярное резервное копирование и восстановление сайта из резервных копий требует отдельного внимания, поэтому я расскажу о них в следующих статьях.
Материалы по теме
tuning-soft.ru
Как настроить резервное копирование в Битриксе корпоративный портал
Всем привет, сегодня рассмотрим очень важный момент для любого сайта и сервиса, а именно битрикс: резервное копирование. С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме, что очень хорошо для администратора сайта, упрощая ему жизнь. Любая автоматизация - это правильный этап развития любого сервиса и приложений, к этому должны стремится все.
Битрикс резервное копирование
Задание параметров автоматического резервного копирования производится в Административной части на странице Регулярное резервное копирование Настройки > Инструменты > Резервное копирование > Регулярное резервное копирование.
Как настроить резервное копирование в Битриксе-корпоративный портал через веб-01
Настройки в продукте
Для настройки регулярного автоматического резервирования необходимо:
- выбрать функцию запуска копирования через облачный сервис 1С-Битрикс,
либо
- настроить выполнение агентов на cron, запуская каждую минуту /bitrix/modules/main/tools/cron_events.php, что означает, что автоматическое резервирование будет выключено.
либо, если по каким-то причинам на проекте не используются агенты, то
- поставить на нужное время задачу на cron на запуск /bitrix/modules/main/tools/backup.php.
Как работает автоматическое резервное копирование
Если выбрано копирование через облачный сервис, то для создания копии не нужно производить ни каких дополнительных действий. Этот вариант рекомендуется для простых проектов с малоопытными администраторами. Он наиболее простой в реализации.
После запуска процесса на странице Настройки > Облако 1С-Битрикс > Расписание резервирования появится ваше расписание, уникальный идентификатор, которого передаётся облачному сервису. Далее при наступлении указанного времени создания резервной копии сервис откроет специальную страницу на вашем сайте и передаст ей требуемые параметры, чтобы создать бекап. Доступ к административной части не требуется и административный раздел может быть закрыт по IP.
После выполнения копирования, на странице Настройки > Облако 1С-Битрикс > Резервные копии появится список всех создаваемых копий. (эти же копии отобразятся на странице Настройки > Инструменты > Резервное копирование > Список резервных копий, откуда и возможно их восстановление.)
Создание резервной копии битрикс
Создание резервной копии битрикс идет через скрипт, немного пробежимся по настройкам.
- Размещение резервной копии > тут все понятно либо локально класть либо в облако битрикса
- Время создания
- Периодичность
- Удалять локальные копии старее такого то числа
- Состав резервной копии.
Как настроить резервное копирование в Битриксе-корпоративный портал через веб-02
Сами бэкапы можно найти по пути /home/bitrix/www/bitrix/backup. Скопировать и посмотреть их можно с помощью WinSCP, об этом я писал подробно тут (Как из windows скопировать файл на CentOS, Ubuntu, Debian, FreeBSD).
Как настроить резервное копирование в Битриксе: корпоративный портал через консоль описано тут.
pyatilistnik.org
Резервное копирование сайта средствами 1С-Битрикс
Мы активно обслуживаем более 100 сайтов каждый месяц и для нас этот вопрос стоит особенно остро. Особенность нашей работы в том, что все проекты работают на разных хостингах, в разных инфраструктурах. Такой зоопарк позволил нам набить много шишек и подарил бесценный опыт, которым мы хотим поделиться.Когда нужна резервная копия сайта
Нам — всегда.Раз в неделю мы переносим изменения на сайты наших клиентов. Любая доработка это риск, что-то может пойти не так. Поэтому мы делаем копии перед переносом изменений и доработок на основной сервер.
Мы растём, растут проекты с которыми мы работаем. Они становятся сложнее, больше и ответственнее. Вместе с ними усложняются наши процессы и используемые технологии.
Резервное копирование сайта средствами 1С-Битрикс
Если сайт (вместе с базой) меньше 2 Гб, достаточно настроить автоматическое резервное копирование средствами Битрикс. Как это работает? Битрикс может по расписанию выполнять процедуру резервного копирования. В результате вы будете получать 1 или несколько архивов в папке /bitrix/backup/ . Этих данных достаточно для восстановления сайта на аналогичном сервере за 30-60 минут. Создание копии занимает 3-15 минут. После того, как копия будет готова, она автоматически загрузится в облако 1С-Битрикс.Обычно размер в облаке не превышает 10 Гб, если вы его не докупали. Этого места хватает для хранения 5 последних бэкапов. Если вы будете делать копию раз в сутки, у вас будет выбор, когда встанет вопрос о восстановление данных. Вы сможете выбрать одну из копий, сделанных за последние 5 дней.
Когда место закончится, самый ранний бэкап будет удалён и на его место записан свежий.
Особенности настройки и использования
Поскольку копия выполняется средствами самого сайта, в архив попадают только файлы, лежащие в директории сайта и база данных, с которой работает сайт. Важно не забывать исключать из копии папки с логами и самодельными бэкапами иначе вы получите “матрешку” из резервных копий =)Что будет в случае аварии
При таком подходе вы потеряете время на установку операционной системы, битрикс веб-окружения и распаковку сайта из резервной копии. Кроме этого вы потеряете конфигурации и настройки программного обеспечения, установленного на сервере.Наш горький опыт
Регулярно 1 раз в 2 месяца мы сталкиваемся с ситуацией, когда нам не удаётся восстановить сайт из копии. Причиной может быть файл со спецсимволом (иногда кириллическим) в названии. Редко, но было, возникают ошибки на этапе восстановления базы данных. Для себя мы нашли одно решение – проверять вручную каждый второй бэкап, чего и вам советуем.Имейте в виду, если вы никогда не проводили “учений” по восстановлению – считайте что бекапов у вас нет. Мы за ответственный подход, и поэтому думаем не только о формальном наличии бекапов, но и о реальной перспективе восстановления.
Резервное копирование средствами хостинга
Хостинги бывают разные. Наиболее распространены 3 типа:Разделяемый хостинг. Когда на одном сервере размещены несколько сотен проектов. У каждого клиента доступ по FTP к своей папке + доступ к панели управления
Виртуальный хостинг. На одном сервере или в облаке у вас будет виртуальный компьютер со своей операционной системой, доступом в интернет и панелью управления.
Выделенный сервер. Вы арендуете оборудование.
В 99% только разделяемый хостинг снабжен бесплатной системой автоматического резервного копирования. Механизм копирования является частью инфраструктуры хостера или конкретного сервера. Вы не имеете доступ к его настройкам и не можете его сломать.
Пока вы пользуетесь разделяемым хостингом, резервное копирование данных сервера осуществляется средствами хостера. Однако, его ответственность равна нулю. В случае отсутствия у вас бекапов, никто ничего не компенсирует. Почитайте договор. Когда вы берете сервер в аренду, не важно виртуальный или нет, вы сами отвечаете за резервное копирование данных. Хостер отвечает только оборудование, свет и интернет. Несмотря на это, хостер заинтересован в сохранности ваших данных. Вы дороги ему как клиент, вы его источник доходов.
abraxabra.ru
Резервное копирование сайта Битрикс на ПК с Handy Backup Софт
Итак, спустя какое-то время моя практика резервного копирования больших сайтов Битрикс на ПК с помощью Handy Backup немного изменилась и стала более эффективной.
В прошлой статье я рассказывал про резервное копирование сайта на ПК с помощью Handy Backup, вариант очень подходит когда нет свободного места на сервере под бэкапы, но там получается очень долгий процесс скачки всех файлов, примерно 7-8 часов для больших сайтов размером в несколько ГБ. Но как-то хочется всегда что-то оптимизировать и я все еще искал пути максимальной скорости и облегчения всего процесса для сайтов, у которых места свободного достаточно.
Казалось бы, в Битрикс есть бэкап в облако, тогда почему вообще я этим занимаюсь? Ну потому что я поддерживаю десятки сайтов и часть из них без активных лицензий, т.е. если лицензия Битрикс закончилась и клиент не в силах, или просто не хочет покупать продление лицензии - прощайте все облачные сервисы бэкапа и прочее, сайт-то будет работать, а вот облачный бэкап закончился, тогда остается для клиента либо ручное создание резервной копии сайта, либо автоматически по крону на сервере, а т.к. мы все двумя руками за автоматизацию во всех своих делах, то конечно остается настройка резервирования сайта силами веб-сервера с помощью демона cron.
Общий смысл грамотного резервирования сайта на свой ПК такой:
- На сервере/хостинге нужно настроить автоматическое резервное копирование сайта Битрикс по расписанию с помощью крона в пупку /backup/ или любую другую, но тут должно быть свободное место на сервере под бэкап.
- На компьютере настроить программу Handy Backup или любую другую, которая сможет закачивать архив сайта на ваш ПК каждый день по расписанию в отдельную папку.
Далее рассмотрим каждый пункт более подробно, т.к. есть еще много всяких нюансов.
Глава №1. Автоматическое резервное копирование сайта Битрикс на сервере/хостинге
Порядок настроек может быть любым, но я начинаю с сайта, сначала настрою резервирование в Битрикс.
Тут обратите внимание на количество хранимых бэкапов сайта, достаточно только 1-й резервной копии на сервере, потому что сервер будет каждый день создавать новую резервную копию сайта и с помощью программы Handy Backup эта резервная копия будет закачиваться на ваш компьютер каждый раз в отдельную папку автоматически.
Дальше настройки у меня такие, включаем в архив БД, ядро и т.д., исключаем статистику сайта (она может занимать много места в БД) + временные кеши папок, они тоже ненужны, ну или все на ваше усмотрение, ваш случай может отличаться от моего, но БД точно надо добавить к бэкапу.
/bitrix/cache /bitrix/backup /bitrix/managed_cache /bitrix/stack_cache
Отлично, нажимаем зеленую кнопку Сохранить и на этом с настройками автоматического резервирования сайта Битрикс мы закончили, архив сайта будет храниться в папке /bitrix/backup/
Далее переходим к настройкам сервера, нам нужен будет на нем крон (cron), который по заданному расписанию будет запускать на Битриксе вот этот файл каждый день./bitrix/modules/main/tools/backup.php
Здесь конечно ситуация для вас будет трудновата, т.к. я например пользуюсь панелью VESTA, у меня есть возможность зайти на сервер и настроить крон, в вашем случае может быть все иначе, совсем другая панель или шаред-хостинг, в этом случае надо обратиться к своим администраторам сайта или хостинга, либо найти самим тот самой крон - скрипт периодического запуска.
В моей панели настройки задачи такие:
/usr/bin/php - Это сервис, который будет запускать файл, путь до интерпретатора php.
~/web/... - Это путь до php-файла, который необходимо запускать. Обратите внимание, знак ~ (тильда) означает путь относительно папки пользователя сервера, у вас может быть абсолютный путь начиная от папки /www/user_name/... или /home/user_name/...
> /dev/null 2>&1 - Это отключает уведомления на почту о выполненном задании, на время тестирования можете включить, если php-скрипт вернет ошибку, то в письме, которое придет на почту, будет видна ошибка, поймете, в чем дело, почему скрипт не работает.
Это детальная настройка задания, начиная снизу - каждый день недели, каждый месяц, каждый день в 13:55 сервер запустит указанный мною файл без уведомления на почту.
p.s. Вы меня простите за такие смешные грамматические ошибки везде во всех статьях, сам ржу когда перечитываю, я пишу быстро, некогда их проверять, главное донести до вас суть, передать Вам мои знания, ошибки это не главное, это мелочи жизни, главное "моск!".
На этом настройка задачи крон завершена, нажимаем оранжевую кнопку Сохранить, ждем заданное время и проверяем в папке сайта бэкап, у меня создался:
Все, резервирование на стороне сайта и сервера мы настроили, каждый день будут создаваться резервные копии сайта.
Но на этом оказывается еще не все, есть такие моменты:-
при таком способе надо еще учесть свободное место на сервере, иначе при создании резервной копии оно может закончиться, т.к. это очень оптимальный вариант резервирования сайта на ПК, вам надо выделить на сервере место под 1 бэкап. При таком способе в случае восстановления сайта не будет никаких проблем, закачаете на сервер архив сайта + файл restore.php и восстановите.
-
если сайт очень большой - 5, 7, 10 Гигабайт, то стоит проверить размер папки /upload/, чаще всего она занимает все пространство сервера, если ее закачивать каждый раз на диск, то опять получается длительное время закачивания и не оптимальное расходование диска как на сервере, так и на вашем ПК, но все равно это будет быстрей обычного резервирования всех файлов сайта на ПК, т.к. будет закачиваться всего 1 файл. При таком способе после восстановления сайта на сервере еще придется закачивать на сервер папку /upload/ предварительно сжав ее в архив на ПК, а на сервере просто распакуете, иначе закачивание картинок в несжатом виде будет очень-очень долгим процессом.
Поэтому, если места на сервере хватает и размер архива адекватный + скорость интернета нормальная, то можете все оставить как есть и переходить к чтению второй главы статьи, а если нет, то читаем дальше первую главу.
В больших сайтах я исключаю из бэкапа в настройках Битрикс папку /upload/ ,т.е. в архив она не попадает, размер архива сайта значительно уменьшается и программа его закачает на ПК за пару минут.
А саму папку /upload/ я синхронизирую на ПК по прошлой статье Handy Backup - cинхронизация сайта на ПК в Windows , программа один раз часиков за 7-8 закачает все содержимое папки /upload/ на диск вашего ПК и дальше будет ее синхронизировать, т.е. удалять с ПК файлы которые удалены на сервере и докачивать новые, но можно настроить программу так, чтобы ничего не удаляла с ПК и постоянно докачивала новые файлы, зеркальное отражение.
Сама программа Handy Backup не нагружает компьютер, я ее вообще не чувствую, она все незаметно сделает и уведомит о выполненном задании, бэкапить она кстати много куда может, не только на ПК, но и в какое-нибудь облако, яндекс диск, другой сервер и др.
Глава №2. Резервное копирование сайта Битрикс на ПК с Handy Backup
Для работы с программой Вам необходимы доступы к FTP или SFTP сайта, чтобы подключиться к серверу и сама программа Handy Backup. Для работы с сервером по SFTP вроде бы нужна версия Handy Backup Professional , для FTP подойдет Handy Backup Standard, но на 100% не помню, покупал в прошлом году, так что попробуйте сначала триалку и потом определитесь, какой случай Ваш.
Итак, будем считать, что вы скачали и установили программу Handy Backup на свой компьютер, доступы к FTP/SFTP сайта есть, можно приступить.
Т.к. из 1-й главы вы узнали, что возможны два варианта бэкапа сайта, полностью или без папки /upload/, значит рассмотрим дальше два случая:
1. Резервное копирование полной резервной копии сайта на ПК с Handy Backup
Для FTP порт 21, для SFTP порт 22. Проверить "Пробное соединение". Выбрать директорию папки с бэкапом сайта. В поле "Конфигурация" вместо "SFTP config" желательно впишите, например, имя домена сайта.
Тут выбираем папку с бэкапом сайта Битрикс на сервере. В панели VESTA папки пользователя вы найдете в папке /home/ В панели ISP папки пользователя вы найдете в папке /var/www/ В других панелях может быть иначе, каждый админ прячет золото где хочет))
Вот на этом этапе в случае бэкапа всех файлов сайта вы можете задать фильтры (исключения), т.е. какие-нибудь исключения файлов или папок, но в нашем случае ничего исключать не нужно, это мы не трогаем и нажимаем Далее.
Тут задаем папку на вашем ПК, где хранить резервные копии сайта, какой-то диск, желательно на диске отличным от С:
Тут на свое усмотрение количество резервных копий, я выбираю последние 30, но можно и все хранить, т.к. на ПК в проводнике точно увидите, когда будет заканчиваться свободное место и старые версии удалите, иначе бывают ситуации, редко, но бывают, когда надо найти нечаянно удаленную кем-то статью год назад.
Сжатие не нужно, т.к. мы просто скачиваем уже сжатый в архив бэкап.
Все настройки задачи завершены, нажимаем сразу кнопку Бэкап и наблюдаем выполнение и проверьте папку, куда программа закачивает бэкап, чтобы знать.
2. Резервное копирование сайта и синхронизация папки /upload/ на ПК с Handy Backup
Итак, все выше вы сделали, бэкап сайта загружается на ваш ПК, остается настроить синхронизацию папки /upload/.
Для синхронизации необходимо создать новое подключение (Новую конфигурацию), т.к. в существующим подключении задан путь до папки с бэкапом, а нам нужна папка /upload/, поэтому создайте новую конфигурацию и путь укажите там до нужной папки, настройку соединения я тут пропущу. В названии подключения укажите, что это подключение до папки /upload/
Здесь задаем папку уже на своем ПК, в которую будем синхронизировать картинка сайта.
В настройках файловых фильтров я пропишу папку с кешем картинок, которые ресайзит (уменьшает) Битрикс, после восстановления сайта он их заново сам создаст, тем самым размер этой папки будет актуальным, ни одной неиспользуемой фотки там не будет. Сама папка называется /resize_cache/, можете ее полностью прописать, т.к. у кого-то может попасть под фильтр нужная папка с картинками, либо загляните в эту папку, посмотрите, какие там есть кеши.
Настройка задачи синхронизации в Handy Backup завершена, запускаем задачу. Т.к. у меня папка с картинками небольшого размера, синхронизация папки /upload/ заняла всего 5 минут!
Как видим, исключенная папка с кешами /resize_cache/ не закачалась, значит исключение в фильтре правильное и работает, лишние ненужные картинки не закачиваются, экономится трафик и время синхронизации.Рекомендации
Когда сервер делает резервную копию сайта, то при наличии свободных ресурсов и мощного сервера посетители не заметят никаких зависаний на сайте, долгого отклика и т.д., а вот если резервная копия будет делаться агентом Битрикс, который ждет, когда кто-нибудь зайдет на сайт, то тогда сайт будет висеть у всех посетителей, пока не создастся резервная копия сайта. Т.е., рекомендуется в любом случае создавать бекап в то время, когда на сайте меньше всего посетителей, например с 3:00 до 8:00, всякие проблемы бывают, т.к. в момент создания резервной копии будет сильная нагрузка на сервер при сжатии архива и сервер отвалиться. Я делаю бэкапы утром, чтобы всю ночь сайт не лежал в случае проблем и в это время меньше всего посетителей на моем сайте.
И обязательно настройте программу для скачивания бэкапа так, чтобы она скачивала его именно после создания, а не до создания. Т.е., если сервер начал создавать бэкап сайта в 8:00, ему же нужно какое-то время на создание, отследите время создания и настройте время скачивания бэкапа с запасом, например в 8:30. Узнать время создания бэкапа можете в админке Битрикс создав резервную копию вручную, там будет написано время создания резервной копии сайта.
Заключение
Как писал выше, данный способ отлично подходит для резервирования и синхронизации крупных сайтов и когда есть место под бэкап на сервере. Берегите свой бизнес, делайте бэкап сайта всегда, каждый день и в нескольких местах!
Если вы владелец крупного бизнеса, можете попробовать еще сервис backupsy чисто для бэкапов.
Если возникнут трудности, оставляйте комментарии, желаю удачи!
tuning-soft.ru
Резервные копии сайтов больших размеров
В работе сайтов и серверов, на которых они расположены, возможны сбои, которые могут привести как к кратковременной недоступности сайта, так и к частичной или даже полной потере данных. Регулярные резервные копии спасут от потери данных, а хранение бэкапов в облаке обеспечит доступность к резервным копиям и их сохранность. Самый удобный способ хранить резервные копии сайта — загрузить архивы в облачное хранилище. Для сайтов разработанных на CMS 1С-Битрикс и оплаченной лицензией предоставляется возможность хранить резервные копии в облаке Битрикс. Этот способ подойдёт в том случае, если бэкапы сайта не превышают объём, вошедший в пакет.Но что делать, ели резервные копии туда не помещаются? Варианта два: первый — оплачивать дополнительное место в облаке по цене 9900 рублей в год за 200Mb https://www.1c-bitrix.ru/buy/cms.php#tab-license-link.
Второй вариант — купить место, например, в Яндекс.Диск https://disk.yandex.ru/pay/tariffs/ объёмом 1Tb за 2000 рублей в год, и не ограничивать себя в количестве резервных копий. Также конкуренцию Яндексу могут составить Google и Amazon — цены там тоже приемлемые.
В случае с облаком Битрикс всё просто, автоматическая система резервного копирования уже готова, её может настроить даже неподготовленный пользователь. Сторонние провайдеры предоставляют только место, а систему резервного копирования нужно разработать — то есть написать скрипты, которые будут по расписанию делать бэкап и выгружать его, например, на Яндекс.Диск.
Так как проблема с местом в облаке Битрикс достаточно распространённая среди Интернет-магазинов, и поддержка сайтов на bitrix в этом вопросе очень важна, то сталкивались мы с ней неоднократно, и нами была разработана система выгрузки бэкапов в облако Яндекс.Диск. Сначала планировалось это решение сделать модулем Битрикс, но позже отказались от этой идеи, так как у всех сайтов большого размера, для которых мы настраивали резервное копирование, к этим процессам были разные требования.
Архивирование файлов и баз данных процесс высоконагруженный, и для некоторых сайтов мы делаем специальные сервера, которые не делают ничего кроме бэкапов. С большими базами данных есть свои нюансы — на сайтах, где больше тысячи заказов в день, недостаточно бэкапить базу раз в сутки или даже раз в час, но если это делать чаще, то могут возникнуть проблемы, когда один дамп еще не сделался, а другой уже запустился, поэтому кроме резервирования базы целиком, мы делаем бэкапы отдельных таблиц DB — например, с заказами клиентов и делаем дамп каждую минуту. На сайтах с большим количеством ежедневных обновлений товаров приходится бэкапить таблицы с товарами и всё это синхронизировать с обновлениями из 1С. Именно поэтому мы не стали разрабатывать модуль для 1С-Битрикс, хотя у нас много наработок в этой области.
Облачное хранилище — это самый надёжный и дешёвый способ хранить резервные копии сайтов, и если резервное копирование уже настроено, то стоит позаботиться о целостности архивов и времени на разворачивание сайта из резервной копии в случае аварии.
seo-robotic.ru
Регулярное резервное копирование публичной части второго сайта с помощью cron 1C Битрикс
Понадобилось сегодня настроить регулярное резервное копирование двух сайтов на Битрикс с помощью задачи cron на сервере. Например, на одном Битрикс, на одной админке настроена многосайтовость, два сайта:
- site1.ru
- site2.ru
Версия Битрикс 14.9.4, как оказалось, на этой версии Битрикс не делает бэкап публичной части сайта site2.ru, с первым проблем нет, может это косяк, не знаю, но времени разбираться некода, исправим это недоразумение.
Настройка регулярного резервного копирования в Битрикс
Делать регулярное резервное копирование сайтов на Битрикс будем так:
- Для сайта site1.ru будет делаться полная резервная копия сайта, включая ядро Битрикс и БД, но исключим всякие логи, кеши, статистику и прочее.
- Для сайта site2.ru будем делать резервную копию только публичной части, т.е. исключаем из резервной копии символьные ссылки на папки /bitrix/ и /upload/ и исключаем БД.
При такой настройке резервные копии будут создаваться отдельно для каждого сайта, размер их будет минимальный, вот так:
Хочу обратить внимание, что в моем случае для сайта site1.ru исключена из резервной копии папка /upload/, т.к. она размером почти 10Гб и бэкапить ее каждый раз нет смысла, этут папку будем ежедневно синхронизировать на локальном копьютере, поэтому размер полной резервной копии небольшой. О синхронизации и бэкапах сайта на локальный компьютер я расскажу в следующий раз.
Вот так будет выглядеть форма настроек скрипта периодического запуска для site1.ru (полное резервное копирование сайта)
У Вас настройки должны быть точно такие, кроме раздела настроек Удаление старых копий, т.е. когда удалять старые резервные копии настройте как удобно в Вашем случае, можете оставить такими, не забудьте сохранить настройки.
Настройка на сервере задачи cron
Далее, на сервере в консоли или в панели управления сервером необходимо добавить задачу для cron, которая в указанное время будет запускать скрипт резервного копирования, в моем случае это панель vesta, в ней команды запуска скрипта выглядят так:
Обратите внимание на файлы резервного копирования, для сайта site1.ru я взял стандартный файл бэкапа Битрикс:
/bitrix/modules/main/tools/backup.phpи переименовал в backup_site1.php, чтобы не запутаться в следующий раз, что куда бекапит, это стандартный скрипт backup.php.
А вот для сайта site2.ru мне нужно бэкапить только его публичную часть, если посмотрите на форму настроек бэкапа Битрикс выше, то там нет возможности отключить для второго сайта бэкап БД, ядра и т.д. Для этого я скопировал опять срипт бэкапа backup.php и переименовал в backup_site2.php, далее настроил под себя:
-
В файле необходимо задать префикс сайта, чтобы повлиять на имя архива.
Это условие сработает, если не установлены модули bitrixcloud и clouds, я их всегда удаляю, т.к. они не используюся на всех моих сайтах и сайтах клиентов, иначе сработают условия выше, но там название архива будет состоять из даты, должно сработать правильно.
-
Ну и задать настройки бэкапа вручную осталось, т.к. скрипт backup.php берет настройки из формы на сайте, все настройки в массиве $arExpertBackupDefaultParams, такие:
$arExpertBackupDefaultParams = array('dump_base' => 0, //Отключаем бэкап БД'dump_base_skip_stat' => 0,//статистику'dump_base_skip_search' => 0,//поисковый индекс'dump_base_skip_log' => 0,//журнал событий'dump_file_public' => 1,//Архивировать публичную часть'dump_file_kernel' => 0,//Архивировать ядро'dump_do_clouds' => 0,//Отключаем бэкап в облако'skip_mask' => 1,//Исключить из архива файлы и директории по маске - Включаем для надежности'skip_mask_array' => array('/bitrix','/upload'),//Это те самые папки исключения (маски)'dump_max_file_size' => 0,//Исключить из архива файлы размером более (0 - без ограничения)'skip_symlinks' => 1,//Пропускать символические ссылки на директории);
О синхронизации бэкапов и самой большой папки сайта /upload/ на свой ПК я расскажу Вам чуть позже, там даже все сайты сможете на локальный ПК синхронизировать и бэкапить, инструменты сейчас есть для этого хорошие.
Прикрепил готовый скрипт резервного копирования с комментариями, где и что изменить, достаточно в одном месте задать префикс для свогео сайта и все.
Скачать скрипт периодического запуска резервного копирования Битрикс 14.9.4: backup_site2.rartuning-soft.ru