Эксперт Теплицы социальных технологий Денис Куландин рассказал почему так важно делать бэкап своего сайта. Объяснил, как правильно записать и где хранить бэкап. Порекомендовал плагины для бэкапа сайтов WordPress.
Что такое бэкап?
Многим при слове бэкап (от англ. backup copy – резервная копия) представляется набор архивных файлов, которые хранятся где-то в виртуальном чулане. На самом деле, бэкап – это постоянный процесс сохранения информации, который нужно планировать, проверять и настраивать под изменяющиеся задачи.
Безопасность
При создании резервной копии важно позаботиться о том, чтобы она не попала в чужие руки. В противном случае злоумышленник может создать полную копию вашего сайта или получить доступ к вашему рабочему сайту. Дело в том, что в копии базы данных содержатся данные всех пользователей вашего сайта, включая их зашифрованные пароли. Получив такую копию, злоумышленнику не составит труда расшифровать пароли и войти на ваш сайт.
Что можно сделать, чтобы избежать подобных проблем? Для этого стоит избегать передачи резервных копий по незащищенным каналам передачи данных, таких как ftp, http, отсылка на почтовый ящик. Вместо этого используйте защищенные каналы: sftp, ssh, https.
Если нет возможности использовать защищенные каналы, следует применить средства шифрования (хотя шифрование стоит использовать даже с защищенными каналами). В особенности стоит шифровать базу данных. В таком случае даже если злоумышленник перехватит бэкап, ему потребуются значительные усилия для расшифровки полученных копий.
Проверка бэкапов
Многие руководители ошибочно полагаются только на заверения администраторов о том, что бэкап настроен и происходит автоматически. Этот подход в корне неправильный! Хранить и проверять у себя бэкапы должен, в том числе, и руководитель.
Не стоит в таком важном деле, как сохранение труда, вложенного в создание и поддержание сайта, полагаться только на одного человека. Стоит распределить ответственность на двух и более лиц.
Дело администратора – настроить автоматическую работу бэкапов и описать, каким образом можно проверить работоспособность бэкапа.
Еще одно частое заблуждение – отсутствие практики периодической проверки бэкапов. Со временем автоматический скрипт по созданию резервных копий может дать сбой: может закончиться место, произойти ошибка в самой системе бэкапа, злоумышленник удалит ваши резервные копии, или возникнут иные непредвиденные проблемы. Крайне важно делать периодические проверки бэкапов!
Что нужно хранить?
Если у вас большое количество свободного места и широкий канал передачи данных с хостинга сайта до хранилища резервных копий, то вопрос «что нужно хранить» для вас не актуален. Сохраняйте все!
Однако если у вас нет достаточных ресурсов, то можно применить гибкий подход и хранить только то, что вам действительно нужно, а не все подряд.
Файлы, которые изменяются при каждом обновлении WordPress, не обязательно добавлять в бэкап, ведь их всегда можно получить из Интернета. При стандартной установке эти файлы занимают в версии WordPress 4.3.1 около 19 Мб места и расположены в следующих местах: в корне сайта (файлы все файлы с префиксом wp-, файлы index.php, xmlrpc.php, license.txt, readme.html).
Также в корне сайта могут находиться и пользовательские файлы, например, иконки, файл конфигурации wp-config.php, файл дополнительной конфигурации веб-сервера Apache .htaccess и иные. Пользовательские файлы стоит, несомненно, добавлять в бэкап, а также в директориях ./wp-admin/ и ./wp-includes/
Основные пользовательские файлы находятся в папке ./wp-content/ Это папки:
- ./wp-content/uploads/ – в ней содержатся все загружаемые на сайт файлы;
- ./wp-content/themes/ – в ней содержатся папки тем, которые используются для отображения сайта.
Эти папки стоит полностью добавлять в бэкап.
В папке ./wp-content/plugins/ содержатся плагины (англ. plug-in, от plug in «подключать») которые расширяют стандартные возможности WordPress и также необходимы для полноценной работы вашего сайта. Их также стоит добавлять в бэкап, но можно делать это «хитро», сохраняя только список плагинов, а не сами файлы. Это также позволит уменьшить размер резервной копии.
Большинство плагинов находятся в репозитории (хранилище) самого WordPress и их легко восстановить, набрав название плагина. Исключение составляют уникальные плагины, которые были написаны именно для вашего сайта; плагины, которые недоступны из репозитория WordPress (платные или плагины, которые были удалены). Такие плагины стоит добавлять полностью в резервную копию.
Оставшиеся файлы и папки index.php ./wp-content/languages/ также могут обновляться самим WordPress и их не обязательно включать в постоянные бэкапы.
Где хранить бэкапы?
Резервные копии можно хранить локально на том же хостинге, что и сам сайт; на удаленном хранилище.
Совет: чем больше мест хранения вы используете, тем лучше.
Не стоит полагаться только на локальное хранилище, так как вы рискуете потерять все сохраненные копии, в случае если злоумышленник получит доступ к вашему сайту или хостер удалит ваш сайт (например, в случае неоплаты или инцидента, что тоже бывает). Также зачастую на хостинге просто недостаточно места для хранения бэкапов.
В качестве удаленных хранилищ можно использовать:
- удаленные серверные хранилища, доступные по протоколам ftp, sftp, scp и пр;
- отсылка по почте;
- облачные хранилища (Dropbox, S3 Service, Microsoft Azure, Rackspace Cloud Files, SugarSync).
Как часто нужно делать бэкапы?
Частота бэкапов зависит от имеющихся у вас ресурсов, частоты обновления информации на сайте и ее важности (стоимости) для вас. Если у вас сайт «визитка», то его можно обновлять и вручную после очередного внесения изменений. Если у вас сайт, который обновляется раз в неделю, то и бэкапы можно делать раз в неделю или даже месяц. Если у вас сайт, где каждый час добавляются новости, то рекомендуется делать ежедневные или даже ежечасные бэкапы.
Также стоит отметить, что выполнение бэкапов может замедлять работу самого сайта, и поэтому бэкапы стоит делать во время наименьшей пользовательской активности (это можно выяснить по имеющейся статистике вашего сайта).
Основные виды бэкапов
Полное резервное копирование (full backup) – полная копия всех файлов. Из копии данного вида бэкапа возможно полное восстановление. Минусом данного вида бэкапа является большое потребление ресурсов, необходимых для копирования и хранения файлов.
Дифференциальное (или разностное) резервное копирование (Differential backup) – каждый файл, который был изменен с момента последнего полного резервного копирования, копируется каждый раз заново. Для восстановления информации из таких бэкапов нужно восстановить последнюю полную версию и наложить на нее нужную версию дифференциального бэкапа.
Инкрементное резервное копирование (Incremental backup) – копируются только те файлы, которые были изменены с тех пор, как в последний раз выполнялось полное или предыдущее инкрементное резервное копирование. Последующее инкрементное резервное копирование добавляет только файлы, которые были изменены с момента предыдущего копирования. Инкрементное резервное копирование занимает меньше времени, так как копируется меньшее количество файлов. Однако процесс восстановления данных занимает больше времени, так как должны быть восстановлены данные последнего полного резервного копирования, а также данные всех последующих инкрементных резервных копирований. В отличие от дифференциального копирования, изменившиеся или новые файлы не замещают старые, а добавляются на носитель независимо.
Рекомендованные плагины для бэкапа сайтов WordPress
Плагинoв для бэкапа сайтов WordPress довольно много. Стоит попробовать несколько из них, прежде чем сделать окончательный выбор.
BackWPup
Очень гибкий в настройках плагин. Позволяет создавать множество отдельных задач по сохранению файлов, которые могут запускаться по собственному распорядку и сохраняться на разные хранилища.
Данный плагин в бесплатной версии может сохранять данные как в локальную папку на хостинге, так и на удаленные сервера по протоколу FTP, почте, а также облачные хранилища (Dropbox, S3 Service, Microsoft Azure, Rackspace Cloud Files, SugarSync).
Также плагин позволяет сжимать резервные копии и снимать список установленных плагинов в текстовый файл.
BackWPup в бесплатной версии не поддерживает шифрование, защищенные протоколы SFTP, SCP.
Защита передачи данных обеспечивается, если используется защищенный протокол HTTPS.
BackWPup
UpdraftPlus
Простой в настройках бэкап для полного копирования. Поддерживает облачные хранилища (Dropbox, Google Drive, S3, Rackspace). Также можно копировать локально или на удаленные серверы по FTP или по е-mail. Шифрование и передача по защищенным каналам SFTP и SCP доступна только за дополнительную плату.
UpdraftPlus
Wp MyBackup
Поддерживает облачные хранилища (Dropbox, Google Drive, S3, Rackspace). Также можно копировать локально или на удаленные серверы по FTP или по е-mail. Кроме этого, в бесплатной версии есть поддержка защищенных протоколов передачи данных SFTP и SCP.
Также стоит отметить, что полная платная версия плагина на один сайт сейчас стоит существенно дешевле, по сравнению с упомянутыми ранее плагинами. В платной версии есть поддержка дифференциальных и инкрементальных вводов бэкапа, а также шифрование бэкап копий.
Wp MyBackup
Revisr — Git backup
Молодой, но быстро развивающийся плагин на основе системы контроля версий GIT.
Для работы плагина необходима поддержка GIT на хостинге. Плагин обеспечивает инкрементный бэкап через механизмы самого GIT. Этот плагин может быть удобен для разработчиков или системных администраторов, которые хотят предоставить пользователям больше самостоятельности.
Revisr — Git backup
WP Time Capsule
Плагин позволяет делать инкрементный бэкап. Первый бэкап занимает много времени, но последующие будут намного быстрее. Бэкапы можно делать только на облачное хранилище Dropbox. Инкрементность обеспечивается за счет механизма самого Dropbox.
В бесплатной версии Dropbox инкременты можно делать только в течение 30 дней. Для увеличения времени хранения инкрементов до года нужно обновить Dropbox до платной версии Dropbox Pro; для неограниченного хранения нужно купить Dropbox for Business.