Мы уже обсуждали процесс создания бэкапа базы данных с помощью плагина. Сегодня мы будем заниматься резервным копирование Wordpress. Если вы до сих пор не умеете этого делать, срочно пора учиться, это поможет обезопасить свой блог от любых неприятностей. Никто не застрахован хакерских взломов, сбоев и ошибок движка, проблем хостинга и т.д.
Ситуаций, которые могут нарушить работу вашего блога, множество. Чаще всего причиной становитесь вы сами — по неосторожности внесли какие-то изменения в код и все сломалось, а как вернуть назад вы уже не помните. На помощь придет бэкап сайта, сделанный заранее.
Вы скажете: «фигня, сейчас напишу в службу поддержки хостинга, там ребята умные, помогут». Тогда такой вариант — однажды утром вы зашли на свой блог и обнаружили, что он не работает:
После чего переходите на сайт хостинга и видите почти такую же картину. Вот тут-то заранее сохраненный на вашем компьютере WordPress бэкап поможет не поседеть от переживаний. Во избежание этой проблемы я советую выбирать хороший хостинг.
Более подробно возможные проблемы с WordPress уже обсуждались в соответствующей статье. А мы перейдем к вопросу создания бэкапа сайта на WordPress.
WordPress: как сделать бэкап сайта полностью
Все делается в два этапа:
- Создаем копию базы данных
- Делаем резервную копию файлов блога на WordPress
Резервная копия базы данных
В прошлой статье мы научились бэкапить базу с помощью плагина, читайте тут. А сегодня научимся делать это с помощью phpMyAdmin. Для этого нужно зайти в панель управления хостера. Найти там раздел «Базы данных» и выбрать «phpMyAdmin»
У каждого хостинга админ-панель выглядит по-разному, но в любом случае там есть ссылка для перехода в «phpMyAdmin». Думаю, вы разберетесь. В противном случае обратитесь в техподдержку.
- В «phpMyAdmin» выберите свою базу данных по названию:
- Когда ваша база данных будет открыта, перейдите во вкладку «Экспорт».
Во вкладке «Экспорт» нужно подготовить базу для скачивания на компьютер. Способ экспорта выберите «Быстрый» формат «SQL» и нажмите «Ок». Вот и все, дамп вашей MySQL базы скачан на компьютер. Храните его и не забывайте периодически обновлять.
Резервное копирование файлов WordPress
Теперь сделаем бэкап файлов WordPress сайта двумя способами.
Способ первый.
Я всегда пользуюсь этим способом, т.к. админ-панель моего хостинга Beget очень удобная и позволяет делать бэкапы за пару минут.
Найдите в админке вашего хостинга раздел «Бэкапы» или «Резервное копирование» и скачайте себе на компьютер самый свежий бэкап файлов. Не у всех хостингов есть такая возможность. У меня это выглядит так:
Как видите, админка моего хостинга позволяет сохранить бэкап в корневую папку для последующего скачивания или же сразу восстановить бэкап. Во вкладке «Базы данных» все тоже самое можно сделать с базой, нет необходимости лазить в phpMyAdmin.
Второй способ.
Некоторым удобнее скачивать файлы по FTP, хотя на мой взгляд это гораздо дольше. Кроме того из-за нестабильного соединения часть файлов может не скачаться.
Зайдите на ftp с помощью Total Commander или Filezilla (я расскажу на ее примере) — в соответствующих статьях об это рассказано. Соединившись с сервером, войдите в корневую папку «Public_html» (у разных хостеров она может называться по-разному, например «httpdocs»).
С левой стороны отображаться локальные диски. Выберите там папку, куда будут скачиваться резервные копии файлов блога.
Теперь кликните правой кнопкой мыши по папке «Public_html», нажмите «Скачать». После чего файлы будут копироваться какое-то время, в зависимости от размера вашего блога.
Хочу заметить, что гораздо удобнее копировать с сервера на компьютер и обратно файлы, запакованный в архив. Так точно ничего не потеряется в процессе копирования и замет гораздо меньше времени.
О разных способах архивации файлов на хостинге есть отдельная статья на блоге.
Как восстановить сайт WordPress из бэкапа
Итак, все бэкапы у нас собраны. А что же с ними делать?
Определите, нужно ли вам восстанавливать и файлы и базу данных или достаточно чего-то одного.
- Если вы самостоятельно нарушили что-то в файлах темы WordPress, достаточно восстановить только файлы.
- Если произошло что-то с вашими постами и страницами или настройками блога, восстановите только базу.
- Если блог полностью не работает, попробуйте начать с базы, если это не поможет, перейдите к восстановлению файлов.
Восстановление MySQL-базы данных
Если ваш хостинг обладает удобным и функциональным интерфейсом, просто нажмите кнопку «Восстановить» возле последней версии бэкапа базы данных. Если нет, опять зайдите в phphMyAdmin, выберите свою базу и перейдите на вкладку «Импорт». Никакие настройки менять не нужно, просто выберите свой файл с дампом и нажмите «Ок».
- Если что-то не получилось, есть альтернативный способ. Скопируйте содержимое вашего дампа базы и вставьте его на вкладку «SQL», нажмите «ОК»:
Как восстановить из бэкапа файлы сайта
Опять же, если ваша хостинг-панель позволяет быстро восстановить бэкап, сделайте это. В противном случае подключитесь к серверу по ftp, как это было описано выше. Удалите старую папку «Public_html» и закачайте на ее место ваш бэкап. Не забудьте упаковать файлы в архив для вашего же удобства.
Как видите, все просто! Теперь, имея на компьютере свой полный WordPress бэкап, и обладая умение его восстанавливать, можно спать спокойно:). Советую вам раз в неделю или месяц делать такие резервные копии блога для обеспечения его безопасности.
Пока, до встречи!
Источник: https://pro-wordpress.ru/chast-1-nastraivaem-svoj-blog/bezopasnost-bloga/kak-sdelat-rezervnuyu-kopiyu-vsex-fajlov-bloga-i-dampa-bazy-dannyx.php
Как сделать бэкап сайта
Доброго времени суток уважаемые читатели! В этой статье мы разберемся, как сделать бэкап (backup) сайта. Также мы рассмотрим, как восстановить сайт из резервной копии.
Надеюсь, никому не надо объяснять, насколько важно вовремя делать бэкап сайта. Особенно перед тем, как проводить какие – либо работы на сайте. Ведь любые, даже самые незначительные, изменения вполне могут привести к неработоспособности веб – ресурса.
Вот примеры таких действий: изменения в коде шаблона, обновление версии движка, установка плагина или новой темы и т.п. Поэтому любой владелец сайта, который дорожит своим «детищем», всегда должен иметь свежую резервную копию сайта.
Это нужно для того, чтобы потом при необходимости можно было без проблем восстановить сайт из бэкапа.
Как сделать бэкап сайта самостоятельно
Сейчас практически любой хостинг, который заботиться о своих клиентах, регулярно делает бэкап сайтов находящихся на его серверах. Поэтому при необходимости можно просто воспользоваться бэкапом, который сделал Ваш хостинг – провайдер. Но я бы не стал полностью полагаться на хостинг.
От форс – мажора никто не застрахован. Мало ли что может случиться с сервером, на котором расположен Ваш хостинг. Пожар, наводнение, инопланетное вторжение))) и т.п. и тогда все резервные копии Вашего сайта пропадут вместе с хостингом.
Поэтому лучше научиться делать резервные копии сайта самостоятельно.
Итак, чтобы сделать полный бэкап сайта необходимо:
Как сделать бэкап базы данных MySQL
1) Идем в панель управления хостингом, находим базы данных MySQL. Далее переходим в phpMyAdmin.
2) Выбираем нужную базу. В данном примере это host_ivitop. Отмечаем все таблицы ставим галочку возле пункта «Отметить все» и нажимаем «Экспорт».
3) В настройках ничего не меняем, оставляем всё, как есть. Метод экспорта «Быстрый». Формат «SQL». Жмем кнопочку «Вперед» (у Вас она может называться «OK») и сохраняем файл на компьютер. Всё, бэкап базы данных MySQL готов.
Как Вы поняли, создать бэкап бызы данных MySQL совсем не сложно. И делается это очень быстро, буквально одну – две минуты. Поэтому старайтесь делать резервную копию базы данных, когда вносите какие – то изменения на сайте. Опубликовали статью, сделали бэкап.
Как сделать бэкап базы данных MySQL разобрались. Теперь можно приступать к созданию резервной копии файлов и папок нашего сайта.
Как создать резервную копию всех файлов и папок сайта
1) Чтобы сделать бэкап файлов сайта нужно подключится к серверу своего хостинга через FTP – клиент и скачать корневую папку сайта.
Для этого нам понадобится файловый менеджер FileZilla (Файлзилла) или Total Commander (Тотал Коммандер).
Я пользуюсь клиентом FileZilla, поэтому, как сделать бэкап сайта буду показывать на его примере.
Скачать FTP клиент FileZilla можно с официального сайта.
2) Запускаем клиент FileZilla. Вводим имя хоста, логин и пароль пользователя для соединения по FTP, если требуется указываем порт. Нажимаем «Быстрое соединение». Если все данные указаны верно, то клиент соединится с сервером хостинга.
3) В левой части клиента FileZilla будут отображаться диски и папки Вашего компьютера, а в правой папки и файлы Вашего сайта находящиеся на хостинге.
В правом окне кликаем по каталогу с названием нашего сайта. Находим корневую папку сайта. Обычно это папка htdocs или public_html. Зажимаем её левой кнопкой мышки и перетаскиваем на компьютер в отдельно заготовленную папку для бэкапа. У меня эта папка так и называется «Бэкап».
Можно просто скопировать сам каталог с названием сайта. Лично я так и делаю.
Начнется передача файлов и папок. Остаётся только дождаться того момента, когда завершится процесс копирования. Обычно это занимает несколько минут.
Всё! Теперь у Вас есть полный бэкап сайта.
По завершении работы отключаемся от сервера (нажимаем на иконку с красным крестиком).
Переходим в меню на вкладку «Редактирование» – «Удалить личные данные». Отмечаем галочкой все категории для очистки и жмём «Ок».
В целях безопасности сохранять пароли в клиенте FileZilla не рекомендуется.
Как восстановить сайт из бэкапа
1) Чтобы восстановить базу данных MySQL из бэкапа идем в панель управления phpMyAdmin.
Выбираем базу данных, которую надо восстановить и отмечаем в ней все таблицы. Далее в меню «С отмеченными» выбираем пункт «удалить».
2) Подтверждаем удаление.
3) Затем сверху на панели нажимаем «Импорт». Выбираем на компьютере наш файл с бэкапом базы данных MySQL. Нажимаем «Вперед».
Если появится желтое окно с кракозябрами, значит что – то пошло не так. Если сделали всё правильно, то получите сообщение «Импорт успешно завершен».
Как восстановить файлы сайта из резервной копии
1) Чтобы восстановить папки и файлы нашего сайта подключаемся к серверу через FileZilla.
2) Открываем каталог с названием нашего сайта. Выбираем папку с нашим бэкапом (htdocs), которую ранее сохранили на компьютере и перетаскиваем её в правое окно на наш хостинг.
3) Если перед тем, как загрузить бэкап, Вы не удалили с хостинга старую папку htdocs, появится диалоговое окно, как показано на скриншоте ниже. В нём выбираем следующее действие: «Перезаписать» – «Применить только к текущему заданию» – «”Всегда использовать это действие» и жмем «ОК».
- 4) Дожидаемся, пока все файлы загрузятся на сервер.
- На этом восстановление сайта из бэкапа завершено!
- Пусть попутный ветер всегда будет в ваших парусах!
Источник: https://ivitop.ru/kak-sdelat-bekap-sajta/
Как сделать полный бэкап сайта
Было у вас такое, что ваш сайт взломали, наплодили его вирусами, и он просто рухнул в поиске? У меня не было, но никто от этого не застрахован.
Поэтому нужно периодически проверять сайт на вирусы и обязательно делать бэкап файлов и базы данных. Об этом мы сегодня и поговорим.
Есть несколько разных способов сделать backup сайта, я расскажу на примере своего блога wordpress, но принципы одинаковые для всех сайтов. Сайт состоит грубо говоря из 2х частей — файлы и база данных. Для того и другого нужно делать копии.
Бэкап файлов сайта через total commander
Это очень простой, но долгий способ (в зависимости от объема может занять и полчаса). Заходите на ваш хостинг через total commander и просто копируете все файлы сайта на свой локальный компьютер в специально созданную для этой цели папку.
Бэкап файлов через менеджер файлов хостинга
Каждый уважающий себя хостинг делает автоматический бэкап файлов сайта. Например, мой хостинг Beget https://beget.com/p553886 делает копирование файлов через каждые 1-2 дня.
Эти файлы нужно скопировать себе на локальный компьютер. Делается это просто — перейти в раздел “Файловый менеджер”, в пункте меню “Файлы резервной копии” выбрать дату последнего копирования, выделить все нужные файлы и нажать “Скачать архив”. В течение нескольких секунд файлы скачаются на ваш компьютер.
Бэкап базы данных через панель хостинга
Теперь обязательно нужно сделать backup базы данных сайта. Первый способ через панель хостинга Beget выглядит вот так.
Нужно выбрать нужную базу данных (того сайта, который вы хотите сохранить) и нажать кнопку скачивания. В ответ вам будет вариант скачать БД через ссылку по почте или из корня сайта. Удобнее через ссылку по почте.
Как только БД заархивируется, на почту вам придет письмо со ссылкой для скачивания архива. Мне пришло письмо в течение полминуты.
Бэкап всего сайта через плагин UpdraftPlus WordPress Backup Plugin
Источник: https://mydaoseo.ru/raznoe/bekap-sajta/
Резервное копирование сайта. Как часто делать Backup
Резервная копия сайта (backup) – это процедура копирования и сохранения файлов сайта, баз данных, настроек аккаунтов, SSL-сертификатов и прочих данных, относящихся к сайту, в месте отличном от места размещения самого сайта. Например, на локальный компьютер или на специальный сервер для резервных копий.
Бэкап позволяет восстановить работоспособность сайта (или его состояние на какой-то момент) в случаях:
- Заражения вирусами;
- Взлома сайта злоумышленниками;
- Случайного удаления файлов или страниц сайта (или их части);
- Потери данных из-за ошибок оборудования;
- Потери или нежелательные изменения данных из-за неверных действий администратора или владельца сайта;
- Глобальной аварии у хостера;
- Различных конфликтных ситуаций с вашим хостинг-провайдеров, приводящих к блокировке или удалению аккаунта.
При наличии грамотного резервного копирования в случае любых проблем работу сайта можно восстановить за несколько минут (или пару-тройку часов в особо тяжелых случаях).
Примечание: чтобы снизить риски различных блокировок – держите домен и хостинг у разных компаний.
Вопрос частоты резервного копирования очень индивидуален. Все зависит от вашего бизнеса и критичности потери данных.
Если у вас просто сайт-визитка компании, данные на котором почти не меняются, то вполне можно обойтись одним полным бэкапом в месяц.
Если ваш проект представляет из себя сложную динамично изменяющуюся информационную систему, да еще и с пользовательскими данными, занимающими сотни гигабайт дискового пространства, то придется напрячься и разработать сложную систему инкрементных бэкапов (или чего-то схожего). Тут имеет смысл делать полный архив раз, например, в неделю. Какие-то менее критичные данные бэкапить раз в день. А что-то особо важное и динамичное резервировать раз в час, а то и каждую минуту.
Но для среднестатистического сайта можно рекомендовать делать резервное копирование минимуму раз в месяц на локальную машину или на другой сервер. И делать ежедневный бэкап за последние 7 дней средствами CMS сайта или хостинга.
Ответ на этот вопрос на самом деле следует из предыдущего раздела. Всё индивидуально. Мы же можем дать только общие рекомендации.
Но давайте предположим, что у нас среднего размера проект, который имеет ежедневное обновление контента, но при этом не содержит критически важных данных.
Резервное копирование средствами хостинга
Большинство популярных провайдеров виртуального хостинга предоставляют на всех тарифах автоматическую систему резервного копирования.
Бэкапы обычно делаются за относительно небольшой промежуток времени, чаще всего за последние 7 дней. Бэкапятся полностью все файлы и базы данных на аккаунте.
- Beget. Из панели управления – раздел «BackUp». Одна копия по требованию бесплатно, последующие – 2 руб.
- Timeweb. Панели управления главное меню слева – раздел «Резервные копии». Бэкап по требованию платно – 5 руб. за копию.
- Sprinthost. Левое меню панели управления – раздел «Дополнительно» – пункт «Резервные копии». Все бэкапы у Спринтхост бесплатные.
- Хостинги на ISPmanager. В панели управления левое меню – раздел «Резервное копирование». Периодичность и цена дополнительных бэкапов будут зависеть от конкретного хостинга.
- Хостеры под управлением CPanel. На главном экране панели управления в секции «Files» («Файлы») – значок «Site Backup». Обычно ручные копии бесплатные.
Резервное копирование вручную
Сделать ручной бэкап также обычно несложно. Самый простой способ – воспользоваться файловым менеджером хостинга для создания архива файлов и через phpMyAdmin сделать дамп базы данных.
Некоторые хостеры также дают возможность сделать бэкап по запросу через панель управления или скачать ранее автоматически созданный архив.
Главное, не забудьте потом скачать все созданные архивы к себе на компьютер, а с хостинга их удалить после этого.
Автоматическое резервное копирование своим скриптом
Отличный способ делать бэкапы так, как нужно именно вам, и при этом не делать все вручную – это создать свой собственный скрипт резервного копирования и запускать его по расписанию. А резервные копии сохранять на файловый сервер у другого провайдера или в какой-нибудь облачный сервис.
Мы часто используем простой bash-скрипт – он выполняет полное копирование раз в заданные промежуток времени, а в промежутках делает бэкапы только измененных файлов. А все архивы сохраняет на удаленный FTP-сервер.
Делимся скриптом, можете использовать под свои нужды:
#!/bin/sh
### System Setup ###
# Короткое название папки (используется для формирования имен)
DIRSHORT=»mysite»
# Папка для бэкапа
DIRS=»mysite_dir/www»
# Временная папка (в нее будут архивироваться файлы)
BACKUP=./bak/backup.$$
# формат даты для имен (можно не менять)
NOW=$(date +»%Y-%m-%d»)
# Файл с информацией о инкрементальных копиях
INCFILE=»mysite_dir/bak/$DIRSHORT-tar-inc-backup.dat»
# текущий день недели (не менять)
DAY=$(date +»%a»)
# день недели полного бэкапа
FULLBACKUP=»Sun»
### FTP server Setup ###
# папка на FTP
FTPD=»myftp»
# имя пользователя FTP
FTPU=»myftpuser»
# Паароль FTP
FTPP=»password»
# Сервер FTP
FTPS=»mysite_server»
#NCFTP=»$(which ncftpput)»
### Other stuff ###
EMAILID=»mymail»
### Start Backup for file system ###
[ ! -d $BACKUP ] && mkdir -p $BACKUP || :
### See if we want to make a full backup ###
i=$(date +»%Hh%Mm%Ss»)
if [ «$DAY» == «$FULLBACKUP» ]; then
# FTPD=»/mysite/full»
datedir=»$NOW-full»
FILE=»$DIRSHORT-full-$NOW-$i.tar»
rm $INCFILE
tar -g $INCFILE -cvf $BACKUP/$FILE $DIRS
else
datedir=$NOW
FILE=»$DIRSHORT-i-$NOW-$i.tar»
tar -g $INCFILE -cvf $BACKUP/$FILE $DIRS
fi
### Dump backup using FTP ###
#Start FTP backup using ncftp
echo «Ftp upload start»
# temp files
ftpcommand=»mysite/tmp/$DIRSHORT-com.ftp»
ftplog=»mysite/tmp/$DIRSHORT-log.ftp»
# ftp script
echo «user $FTPU $FTPP
mkdir $FTPD
mkdir $FTPD/$datedir
cd $FTPD/$datedir
lcd $BACKUP
mput *
quit» > $ftpcommand
# execute ftp script
/usr/bin/ftp -n -i -p $FTPS > $ftplog < $ftpcommand
Некоторые системы управления сайтами имеют модули или встроенные функции для создания бэкапа сайта.
Рассмотрим возможности резервного копирования у некоторых популярных CMS.
Резервное копирование в WordPress
Для WordPress существует несколько как платных, так и бесплатных модулей для бэкапов.
Источник: https://hostinghub.ru/info/rezervnoe-kopirovanie-sayta-kak-chasto-delat-backup
Бэкап сайта и базы данных. Резервное копирование сайта и базы данных
01 Мар 2017
В этой статье мы разберем, как сделать резервное копирование сайта (бэкап сайта) и резервное копирование базы данных (бэкап базы данных) на платформе WordPress без плагинов. Сам процесс быстрый и не сложный, поэтому считаю не нужным нагружать хостинг лишним плагином, замедляя тем самым загрузку страниц нашего блога. Создать копию сайта и базы данных просто необходимо.
- Плейлист «Как создать сайт на WordPress»
- TimeWeb лучший хостинг для WordPress: домен в подарок, 99 рублей в месяц.
Попробуйте, 10 дней бесплатно: РЕГИСТРАЦИЯ ОБЗОР ВИДЕО
Случиться может все что угодно: ваш сайт могут взломать хакеры, или вы поймаете вирус, или на хостинге может возникнуть технический сбой, что может привести к полной или частичной потере данных.
Зачем нам эти проблемы? Лучше перестраховаться. Согласитесь, было бы очень обидно потерять доступ к сайту, в который вложено много сил, времени и средств.
С резервной копией всегда можно восстановить доступ к сайту и избавить себя от не нужных проблем.
Резервное копирование базы данных (бэкап базы данных)
Как сделать бэкап базы данных. Бэкап базы данных MySQL. Базу данных мы сохраним через phpMyAdmin. Заходим в административную панель вашего хостинга (в моем случае это хостинг TimeWeb, если у вас другой хостинг, ничего страшного, процесс создания бэкапа БД одинаков на всех хостингах).
Затем заходим в раздел Базы данных MySQL и нажимаем на ссылку phpMyAdmin:В открывшемся окне выбираем вашу базу данных и жмем на вкладку “Экспорт”:
Затем ставите обычный “Метод экспорта” и проверяете, чтобы все таблицы были выделены. Затем в блоке “Вывод” компрессию выбираем в формате gzip (это обязательно):
Затем спускаемся в самый низ страницы и жмем вперед. После этого начнется загрузка базы данных с сервера нашего хостинга. Все, резервное копирование базы данных успешно завершено.
Резервное копирование сайта (бэкап сайта)
Как сделать бэкап сайта. Бэкап сайта на WordPress Для создания копии сайта к нему нужно подключиться через ftp. Рекомендовано использовать программу FileZillaPortable. Скачать ее можно здесь.
Открываем программу, для соединения с сервером вводим данные: хост, имя пользователя и пароль (эти данные хостинг оправил вам на почту после регистрации) и жмем “Быстрое соединение”.
Затем на локальном сайте выбираем папку для сохранения копии сайта, затем жмем правой кнопкой мыши на папку /public_html и нажимаем скачать.
Совет. Бэкап базы данных желательно делать ежедневно, а сам сайт качайте раз в неделю (в крайнем случае 1 раз в 2 недели). Важно. Перед установкой плагинов, скриптов, перед редактированием файлов шаблона также желательно делать бэкап сайта.
У меня был реальный случай, когда после установки одного плагина сайт перестал грузиться. Более суток искал причину, оказалось дело в последнем установленном плагине. Проблему устранил удалением папки этого плагина через FileZilla на сервере хостинга.
Делать резервные копии сайта и базы данных просто необходимо, отнеситесь к этому со всей серьезностью.
Источник: http://busines-expert.com/bekap-sajta-i-bazy-dannyx-rezervnoe-kopirovanie-sajta-i-bazy-dannyx/
Бэкап сайта: что такое и как грамотно его сделать
- Что такое Backup
- Зачем он нужен?
- Как его сделать?
Что это такое бэкап сайта?
Суть бэкапа сайта сводится к копированию баз данных, файлов сайта, почты, FTP-аккаунтов и множества других параметров хостинга. Проще говоря мы сохраняем весь сайт и его настройки в отдельном месте, и при необходимости можем вернуть сайт к той версии, которую сохранили.
При этом может осуществляться копирование данных на текущий и бэкапный (дополнительный) сервер, располагающийся отдельно от серверов провайдера либо в другом дата-центре. Оно производится на случай, если что-то случится с сервером на котором хранится сайт. Таким образом в 2009 году после пожара в собственном дата-центре Hosting.
ua удалось восстановить большую часть сайтов, копии которых хранились на других серверах.
Для чего нужно резервное копирование сайта?
Понять суть термина «backup» поможет наглядный пример. Предположим, ваш веб-проект был подвержен хакерской атаке, вследствие чего произошло изменение либо удаление баз данных и файлов сайта.
Некоторое время назад решение данной проблемы было довольно сложным и трудоемким: веб-мастерам приходилось начинать работу с самого начала, но сейчас существование резервного копирования делает эту проблему незначительной.
Вы можете восстановить выполненный хостинг-провайдером бэкап, используя панель управления хостинг-аккаунтом, или обратившись к провайдеру, а затем начать работать над повышением уровня безопасности вашего сайта, а не заниматься восстановлением контента своего сайта по частям.
Однако может возникнуть и другая более сложная проблема – в результате какого-либо стихийного бедствия работоспособность сервера нарушается, и он, как и все сайты, и бэкапы, содержащиеся на нем, также перестает работать. Для таких форс-мажорных случаев и предусмотрен сервис двойного резервного копирования.
У хостинг-провайдера имеется возможность оперативно восстановить работу своих сервисов и выполнить восстановление бэкапов данных пользователей, взяв их со другого бэкапного сервера, который расположен в другом дата-центре, и на который не повлияли форс-мажорные обстоятельства, нарушившие работу сайтов.
Поэтому перед приобретением хостинга, обязательно поинтересуйтесь у провайдера – предлагает ли он своим заказчикам сервис резервного копирования ваших данных и как регулярно он это выполняет и сколько времени хранит копии. От данного фактора напрямую зависит успех Вашего интернет-проекта.
Зачем сохранять к себе на компьютер?
Мы рекомендуем еженедельно сохранять к себе на компьютер резервную копию сайта. Это нужно на тот случай, если сайт был взломан месяц назад, а провайдер хранит бэкапы только 2 недели. В таком случае все копии сайта на сервере провайдера будут заражены.
Как сделать бэкап сайта?
Основная задача будет состоять в том, чтобы сохранить к себе на компьютер файлы сайта и базу данных, которые находятся на сервере хостера. Есть несколько вариантов того, как делать бэкап сайта. И сейчас мы их рассмотрим подробно.
С помощью хостинг-аккаунта
Заходите в панель управления хостингом, и находите там раздел похожий на «Резервные копии», «Backup» или что-то подобное. Далее два пути:
— провайдер создаст копию (в одном архиве) и даст Вам ссылку чтобы скачать. Провайдер сделает копию, и ее нужно будет скачать с сервера (на котором расположен Ваш сайт) с помощью FTP-клиента (обычно файл с копией находится в папке backup или подобной), или скачать через менеджер файлов в панели управления хостингом.
Источник: https://ru.hostings.info/schools/rezervnoe-kopirovanie.html
Резервное копирование данных в MySQL
Резервное копирование базы данных — это такая штука, которую вечно приходится настраивать для уже работающих проектов прямо на «живых» production-серверах. Подобная ситуация легко объяснима. В самом начале любой проект еще пуст и там просто нечего копировать.
В фазе бурного развития головы немногочисленных разработчиков заняты исключительно прикручиванием фишек и рюшек, а также фиксом критических багов с дедлайном «позавчера». И только когда проект «взлетит», приходит осознание, что главная ценность системы — это накопленная база данных, и её сбой станет катастрофой.
Эта обзорная статья — для тех, чьи проекты уже достигли этой точки, но жареный петух ещё не клюнул.
1. Копирование файлов базы
Базу данных MySQL можно скопировать, если временно выключить MySQL-сервер и просто скопировать файлы из папки /var/lib/mysql/db/. Если сервер не выключить, по очевидным причинам вероятна потеря и порча данных. Для больших нагруженных баз эта вероятность близка к 100%.
Кроме того, при первом запуске с «грязной» копией базы данных MySQL-сервер начнет процесс проверки всей базы, который может затянуться на часы. В большинстве «живых» проектов регулярное выключение сервера БД на длительное время неприемлемо. Для решения этой проблемы применяется трюк, основанный на снэпшотах файловой системы.
Снэпшот — это что-то вроде «фотографии» файловой системы на определенный момент времени, сделанный без реального копирования данных (и потому быстро). Аналогичным образом работает «ленивое копирование» объектов во многих современных языках программирования.
Общая схема действий такова: блокируются все таблицы, сбрасывается файловый кэш БД, делается снэпшот файловой системы, разблокируются таблицы. После этого файлы спокойно копируются из снэпшота, после чего он уничтожается. «Блокирующая» часть такого процесса занимает время порядка секунд, что уже терпимо.
В качестве расплаты на какое-то время, пока «жив» снэпшот, снижается производительность файловых операций, что в первую очередь бьет по скорости операций записи в базу.
Некоторые файловые системы, например, ZFS, поддерживают снятие снэпшотов нативно.
Если вы не пользуетесь ZFS, но на вашем сервере стоит менеджер томов LVM, вы также сможете скопировать базу MySQL через снэпшот. Наконец, под *nix можно воспользоваться драйвером снэпшотов R1Soft Hot Copy, но этот способ не заработает в контейнере openvz (процесс бэкапа MySQL описан здесь).
Для баз MyISAM существует официальная бесплатная утилита mysqlhotcopy, которая «правильно» копирует файлы баз MyISAM без остановки сервера. Существует аналогичная утилита для InnoDB, но она платная, хотя и возможностей в ней больше.
Копирование файлов — самый быстрый способ перебросить базу данных целиком с одного сервера на другой.
2. Копирование через текстовые файлы
Для того, чтобы считать в бэкап данные из production-базы, необязательно дергать файлы. Можно выбрать данные запросом и сохранить их в текстовый файл. Для этого используется SQL-команда SELECT INTO OUTFILE и парная ей LOAD DATA INFILE. Выгрузка производится построчно (можно отобрать для сохранения только нужные строки, как в обычном SELECT).
Структура таблиц нигде не указывается — об этом должен заботиться программист. Он также должен позаботиться о включении команд SELECT INTO OUTFILE в транзакцию, если это необходимо для обеспечения целостности данных. На практике SELECT INTO OUTFILE используется для частичного бэкапа очень больших таблиц, которые нельзя скопировать никаким другим образом.
В большинстве случаев намного более удобна созданная Игорем Романенко утилита mysqldump. Утилита mysqldump формирует файл, содержащий все SQL-команды, необходимые для полного восстановления БД на другом сервере. Отдельными опциями можно добиться совместимости этого файла с практически любой СУБД (не только MySQL), кроме того, существует возможность выгрузки данных в форматах CSV и XML.
Для восстановления данных из таких форматов существует утилита mysqlimport.
Утилита mysqldump консольная. Существуют её надстройки и аналоги, позволяющие управлять бэкапом через веб-интерфейс, например, украинская тулза Sypex Dumper (их представитель zapimir есть на хабре).
Недостатки универсальных утилит бэкапа в текстовые файлы — это относительно невысокая скорость работы и отсутствие возможности делать инкрементные бэкапы.
3. Инкрементные бэкапы
Традиционно рекомендуют держать 10 бэкапов: по одному на каждый день недели, а также бэкапы двухнедельной, месячной и квартальной давности — это позволит достаточно глубоко откатиться в случае порчи каких-либо данных. Храниться бэкапы должны точно не на том же диске, что и живая база, и не на том же сервере.
На случай пожаров и прочих катаклизмов лучше всего арендовать пару юнитов в соседнем дата-центре. Эти требования могут стать проблемой для больших баз. Прокачка бэкапа 100-гигабайтной базы по 100-мбитной сети займет часа три, на которые полностью забьет канал.
Частично решить эту проблему позволяют инкрементные бэкапы, когда полный бэкап делается, скажем, только по воскресеньям, а в остальные дни пишутся только данные, добавленные или измененные за прошедшие сутки. Сложность в том, как выявить эти самые «данные, изменившиеся за сутки».
Здесь практически вне конкуренции система Percona XtraBackup, которая содержит модифицированный движок InnoDB, анализирует двоичные логи MySQL и вытаскивает из них необходимую информацию. Почти такими же возможностями обладает платная InnoDB Hot Backup, упомянутая выше.
Общая проблема с любыми бэкапами в том, что они всегда отстают. В случае фатального сбоя основного сервера восстановить систему можно будет только с некоторым «откатом» по времени, что очень и очень разочарует её пользователей. Если в системе так или иначе были затронуты финансовые потоки, подобный «откат» может в прямом смысле влететь в копеечку.
4. Репликация
Избежать откатов призвана система репликации MySQL. Идея репликации основана на том, что кроме «главного» сервера («Мастера») постоянно работают ведомые сервера MySQL («слейвы»), которые получают инкрементные бэкапы с мастера в режиме реального времени.
Таким образом, время отката уменьшается почти до сетевого лага. В случае краха Мастера можно оперативно назначить «новым Мастером» один из слейвов и перенаправить клиентов на него.
Кроме того, слейвы могут обрабатывать запросы на чтение данных (SELECT-ы); это можно использовать для выполнения каких-то расчетов или снижения нагрузки на мастера. MySQL поддерживает репликацию «из коробки», процесс настройки репликации в MySQL хорошо описан юзером whisk.
Существует возможность запуска конфигураций Master-Master, а с помощью внешних аппаратно-программных систем — и балансировки нагрузки между мастерами. Только не нужно забывать про ограничения, накладываемые CAP-теоремой.
Репликация — это очень здорово, только использовать её нужно по назначению.
Реплика — это полная копия базы, но это не резервная копия! Очевидно же, что если на мастере выполнить DROP TABLE или UPDATE users SET password=«Haha!», изменения будут тут же скопированы на слейв, и откатить их назад станет невозможно.
Репликацию можно совместить с бэкапом на уровне файлов базы, останавливая слейв, а не мастера.
Вместо заключения
Источник: https://habr.com/post/137380/