Wordpress резервное копирование на яндекс диск
Существует достаточно удобный и бесплатный сервис Яндекс.Диск, который может использовать любой желающий. Бесплатно дается не так много места, но для бэкапа сайта на wordpress хватит.
Внимание! Перед работой с резервным копированием, настройте работу Яндекс.Диска по инструкции: «CentOS 7: Консольный клиент Яндекс.Диска», в противном случае скрипт будет создавать просто локальные копии и не будет отправлять на хранение ваши файлы на Яндекс.Диск.
Заключение
Итак, мы рассмотрели варианты создания резервных копий сайта и базы данных на примере типового проекта. При этом использовали только стандартные средства сервера. В качестве примера мы использовали приемник для хранения копий Я ндекс.Диск, но ничто не мешает адаптировать его под любой другой. Это может быть отдельный жесткий или внешний диск, другое облачное хранилище данных, которое можно подмонтировать к серверу.
Схема создания бэкапа позволяет откатиться практически на неограниченное время назад. Глубину архивов вы можете сами задавать, изменяя параметр mtime в скрипте. Можно хранить, к примеру, ежедневный архив не 7 дней, как делаю я, а 30, если у вас есть такая потребность. Так что пробуйте, адаптируйте под себя. Если есть какие-то замечания по работе, ошибки или предложения по улучшению функционала, делитесь своими мыслями в комментариях, буду рад их услышать.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите подробнее программу ссылке.
Здравствуйте. Подскажите пожалуйста, существует ли простой плагин, который делает полный бэкап сайта на вордпресс (файлы и база) и отправляет на яндекс.диск. Может есть возможность автоматической отправки локального бэкапа с хостинга на яндекс.диск по типу, как синхронизация папки на компьютере с облаком?
- Вопрос задан более трёх лет назад
- 1121 просмотр
Здравствуйте. Интересен вопрос, а может ли данный плагин автоматом выкачивать файл из нужной папки в облако (без моего участия) ну и удалить файл с хостинга после закачки? И еще вопрос - кнопка в редакторе отключается или нет?
dkizerov: я не автор. Как говорится "за что купил, за то продал". Изучайте самостоятельно. Или мне его себе поставить, изучить и вам рассказать? Тогда за символические 300$ я готов это сделать
Могли просто сказать, что плагин не ваш и вы ничего не знаете о том, что предлагаете, а не предлагать свои услуги. Естественно, что, если Вы что-то предлагаете Вам вопрос могут задать по тому, что вы предлагаете. Для примера: Вы когда приходите к врачу, он Вас не отправляет самому лечиться и подбирать лекарства.
dkizerov: на двери написано Эдуард Козачек, а я Дружаев Владимир. Надо ли аналогии приводить когда вы врачом ошиблись?
dkizerov: почему Вы так удивляетесь то? вы ищите помощи, Вы должны быть готовы к тому, что она может быть не безвозмездна. В этом же случае все даже не просто правильно, а мега поучительно. Вам помогли бесплатно, но Вам мало и а свои знания не позволяют развить предложенный проект. Вывод, не зарабатываете сами, на Вас заработают другие:) Иначе никак.
p.s. с таким отношением не удивляйтесь если с приходом на работу Вы обнаружите, что Ваш стул руководителя более Вам не принадлежит и на нем восседает коллега
Позавчера хабраюзер vasiatka в посте №206752 поделился с хабрасообществом, а следовательно и со всем остальным миром, продуманным и весьма развитым классом для работы с Яндекс.Диском. Некоторое время назад я тоже стал использовать этот сервис для хранения там бэкапов. Хочу поделиться значительно более коротким вариантом скрипта на php, который делает архивы базы данных и файлов сайта, и заливает их по WebDAV. Возможно кому-то и он придётся по душе.
Если кто-то хочет сразу взглянуть на полный листинг — он внизу.
Автоматический бэкап сайта
Тут я не изобретал велосипеда, а воспользовался стандартным способом архивирования файлов - архиватором tar. Все комментарии и пояснения напишу сразу в скрипте:
Можно пользоваться отдельно этим скриптом для создания архивов файлов, не обязательно сайта. Кладем его в cron и получаем регулярную архивацию.
5. Автоматизация архивации сайта.
По отдельности разобрали все элементы создания резервной копии сайта, теперь пришел черед собрать все это в одном месте.
Я использую следующую схему бэкапа сайта:
- Папка day , где хранится 7 архивов сайта за последние 7 дней.
- Папка week , где хранятся 4 бэкапа за последние 4 недели.
- Папка month , где хранятся все резервные копии сайта за все время, эту папку я автоматически не очищаю.
С такой схемой мы всегда имеем под рукой 7 последних архивов, недельные архивы текущего месяца и архив за каждый месяц на всякий случай. Пару раз меня такая схема выручала, когда нужно было что-то достать из бэкапа недельной давности, к примеру.
Привожу 3 полных скрипта по созданию резервной копии сайта wordpress, но реально можно бэкапить любой сайт — joomla, drupal, modx и другие. Принципиального значения cms или фреймворк не имеет.
Внимание! Формат переменной даты пишется через апостроф ‘ ` ‘. Апострóф — небуквенный орфографический знак в виде надстрочной запятой ( ` ), штриха или любого другого похожего начертания, который употребляется в буквенном письме разных языков в различном назначении. Остальные переменные пишутся через одиночную кавычку ‘ ' ‘.
5.1. Ежедневный бэкап.
Скрипт ежедневного бэкапа сайта backup-day.sh :
5.2. Еженедельный бэкап.
Скрипт еженедельного бэкапа сайта backup-week.sh :
5.3. Ежемесячный бэкап.
Скрипт ежемесячного бэкапа сайта backup-month.sh :
9. Заключение.
Итак, мы рассмотрели варианты создания резервных копий сайта и базы данных на примере движка wordpress. При этом использовали только стандартные средства сервера. В качестве примера мы использовали приемник для хранения копий Яндекс.Диск, но ничто не мешает адаптировать его под любой другой. Это может быть отдельный жесткий или внешний диск, другое облачное хранилище данных, которое можно подмонтировать к серверу.
Схема создания бэкапа позволяет откатиться практически на неограниченное время назад. Глубину архивов вы можете сами задавать, изменяя параметр mtime в скрипте. Можно хранить, к примеру, ежедневный архив не 7 дней, как делаю я, а 30, если у вас есть такая потребность.
В современном мире все большую ценность получает информация, потеря которой может обернуться серьезными финансовыми расходами. Сайт является ценной информацией, резервную копию которого, или просто бэкап, мы сделаем в этой статье на примере wordpress и разместим на яндекс диске. Я рассмотрю вариант автоматизации процесса, который придумал для своих нужд и использую достаточно давно и успешно.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный теcт.
Двигаться будем поэтапно. Сначала просто рассмотрим вариант бэкапа непосредственно файлов сайта и базы данных. А затем загрузим его на Яндекс.Диск.
Скрипт для бэкапа базы данных
Теперь сделаем скрипт для резервной копии базы данных. Тут тоже ничего особенного, использую стандартное средство mysqldamp:
На выходе имеем файл с дампом базы mysql_2020-12-01_04-10.sql.gz . Дамп хранится в текстовом формате, можно открывать и редактировать любым редактором. Если у вас несколько баз mysql и вы хотите их разом забекапить, автоматически разложив по отдельным файлам, читайте отдельную статью по теме - бэкап всех баз mysql в отдельные файлы.
Шаг 2. Сохраняем базу данных
Разобравшись с файлами, переходим к еще одной важной части сайта – базе данных. Чтобы дополнить и завершить резервную копию, нам нужен дамп БД. Его можно создать двумя путями. Через графический интерфейс и через командную строку.
В первом случае используется веб-интерфейс под названием phpMyAdmin. Это наиболее популярный механизм для взаимодействия с базами данных MySQL (и не только). Чтобы сделать дамп через эту утилиту, нужно:
После этого дамп памяти окажется на жестком диске вашего компьютера.
Чтобы создать дамп через командную строку, делаем следующее:
- Открываем терминал и подключаемся к серверу по протоколу Secure Shell.
- Вводим в консоль команду:
Дамп надо сохранить в корневую директорию, как и другие резервные копии, создаваемые таким образом.
С какими облаками работает этот скрипт
Сколько бэкапов нужно создать, где их хранить и можно ли автоматизировать процесс их создания?
Все зависит от интенсивности разработки. Находитесь на активной стадии проектирования своего сайта и постоянно вносите какие-то коррективы? Делайте копии почаще и побольше. Неизвестно, в какой момент сломается та или иная функция, а вы этот факт упустите.
И ведь неизвестно, на какой итерации произошла «поломка». Вдруг последний бэкап ее не исправляет? А предпоследний? А двумя бэкапами ранее. Не стесняйтесь сохранять как можно больше (пока позволяет пространство на диске).
Хранить бэкапы можно в любом надежном месте. Хоть в облаке типа Dropbox, хоть у себя на флешке. Или на резервном сервере своего хостинг-провайдера (обычно хостеры делают это самостоятельно, ничего настраивать не нужно).
Процесс можно автоматизировать тремя путями.
- Создать скрипт, который будет регулярно исполняться, архивируя данные сайта на сторонний носитель.
- Если у вас WordPress-cайт, то скачать на него плагин для создания резервных копий.
- Довериться своему хостеру и отдать всю деятельность, связанную с бэкапами, ему на откуп.
8. Восстановление сайта wordpress из резервной копии.
Теперь рассмотрим вариант, когда вам необходимо восстановить сайт из резервной копии. Для этого нам понадобятся оба архива: исходники и база данных. Разархивировать в принципе можно где угодно. В Windows архивы открываются бесплатным архиватором 7zip. Дамп базы данных в обычном текстовом формате, его можно открыть блокнотом, скопировать и вставить в phpmyadmin.
Так что вариантов восстановления может быть много, этим мне и нравится такой подход. Все файлы в открытом виде, с ними можно работать любыми подручными средствами.
Вот пример того, как извлечь файлы из архива в консоли сервера.
Разархивируем каталог www из бэкапа:
Файлы извлечены в папку www . Теперь их можно скопировать в папку с сайтом.
Для восстановления базы данных поступаем следующим образом.
Сначала распакуем архив:
Теперь зальем дамп в базу данных:
Все, база данных восстановлена!
Внимание! Необходимо учесть, что база будет восстановлена в базу с оригинальным именем и заменит ее содержимое, если таковая на сервере есть. Чтобы восстановить базу в другую, необходимо отредактировать начало дампа и заменить там название базы на новое. Если восстановление происходит на другом сервере, то это не имеет значения.
Описание
Скрипт, который я предлагаю вашему вниманию, довольно лаконичный. Если исключить задание параметров и вывод отчета, то останется что-то около тридцати строк. И хотя параметры и их названия говорят сами за себя, я всё же опишу их с комментариями.
7. Автоматизация исполнения сценариев: cron.
Теперь для автоматизации добавляем эти 3 файла в cron:
Добавляем в него строки по смыслу:
Все, наш wordpress надежно забэкаплен.
Еще сюда можно прикрутить оповещение на почту! Как сделать возможность получать письма с сервера описано в статье: «CentOS 7: Postfix 3 для отправки электронной почты с внутреннего системного «почтового ящика».
Тогда в конце каждого текста команд вашего скрипта добавьте:
BlogVault
Нетипичный, но востребованный сервис для создания резервных копий WordPress-сайтов. Хорош тем, что это именно сервис, а не плагин в классическом понимании. Процесс копирования и сохранения данных происходит параллельно на серверах разработчиков BlogVault, то есть независимо от резервируемого ресурса. Это позволяет снять какую-либо нагрузку с вашего сервера.
Также можно настроить автоматическое ежедневное копирование данных или делать его вручную неограниченное количество раз. Чтобы сократить нагрузку на сервер и уменьшить объем копируемых данных, создатели BlogVault разработали систему инкрементальных бэкапов. Она копирует только измененную информацию, игнорируя ту, что уже есть в предыдущих резервных копиях.
Данные в BlogVault хранятся на протяжении 90 дней. Вкупе с вышеописанными функциями звучит впечатляюще.
Создаем резервную копию автоматически с помощью плагинов
Многие вебмастера, работающие с WordPress, озабочены проблемой резервного копирования. Это важная составляющая поддержания сайта в рабочем состоянии и защиты его от технических сбоев.
Так как это общая проблема, были созданы сторонние плагины для резервного копирования WP. Они хороши тем, что автоматизируют процесс. Не приходится руками собирать все компоненты сайта и искать, куда бы их сохранить. Расширение для WP все сделает без вашей помощи. К тому же оно будет создавать резервные копии с заданной регулярностью, поэтому у вас всегда будет под рукой актуальная версия сайта на случай сбоя или атаки хакеров.
2. Подготовка к работе.
Двигаться будем поэтапно. Сначала просто рассмотрим вариант бэкапа непосредственно файлов сайта и базы данных, а затем полностью ответим на вопрос о том как сделать регулярную резервную копию сайта на wordpress.
Установим архиватор tar:
Создадим каталог для хранения скриптов /sh прямо в корневом каталоге CentOS 7:
Как часто нужно делать бэкапы?
Чем чаще, тем лучше. Большинство хостеров создает копии ежедневно. Хранит их у себя по несколько недель, чтобы в любой момент можно было вернуть прежнюю версию сайта/приложения без каких-либо потерь.
Если делать бэкапы вручную, то надо ориентироваться на интенсивность разработки и другие обстоятельства. При ежедневном внесении изменений в свой проект стоит и бэкапы делать каждый день. В случае «отката» на прежнюю версию приложения/сайта будет меньше потерянных изменений, которые придется реализовывать заново.
А еще бэкапы нужно делать перед разовым внедрением большого количества новшеств на сайте. Допустим, вы подготовили масштабный редизайн с внедрением кучи новых функций, рефакторингом кода и новым бэкендом. Вы, конечно же, все протестировали много раз. Но что, если сработает закон Мерфи, и все, что вы сделали, окажется нерабочим после публикации? Резервная копия самых свежих данных под рукой не спасет кривое обновление, но вернет предыдущую (рабочую) версию ресурса и сэкономит кучу нервов.
4. Скрипт для бэкапа базы данных.
Теперь сделаем скрипт для резервной копии базы данных. Тут тоже ничего особенного, использую стандартное средство mysqldamp:
На выходе имеем файл с дампом базы mysql_2015-09-29_04-10.sql.gz . Дамп хранится в текстовом формате, можно открывать и редактировать любым редактором.
Кладем скрипт в cron и получаем регулярный дамп базы данных.
Что такое бэкап и зачем он нужен?
В переводе с английского слово backup означает «резервная копия». В мире IT она представляет собой архив, содержащий все файлы какой-либо системы.
Такой архив нужен на случай форс-мажора. Допустим, на ваш компьютер напал вирус, уничтоживший кучу документов и фото. Если у вас есть бэкап операционной системы, то вы запросто восстановите все утерянные данные. Или же вы решили переустановить систему, чтобы избавиться от мусора и накопившихся ошибок, но не хотите терять сохраненную информацию и тратить много времени на восстановление. В этом случае снова поможет бэкап.
Аналогичные архивы используются в бизнесе. Никто не хочет терять целый сайт или базу данных, поэтому опытные разработчики имеют полезную привычку регулярно делать копию всего веб-ресурса на внешний накопитель, в облачное хранилище или на личный жесткий диск (а лучше везде сразу).
Бэкап – это защита ваших файлов от технических сбоев, нападения злоумышленников и прочих вещей, вызывающих лишнюю головную боль.
Автоматический архив сайта по дням
По отдельности разобрали все элементы создания резервной копии сайта, теперь пришел черед собрать все это в одном месте. Я предлагаю следующую схему бэкапа сайта:
- Папка day, где хранится 7 архивов сайта за последние 7 дней.
- Папка week, где хранятся 4 бэкапа за последние 4 недели.
- Папка month, где хранятся все резервные копии сайта за все время, эту папку я автоматически не очищаю.
С такой схемой мы всегда имеем под рукой 7 последних архивов, недельные архивы текущего месяца и архив за каждый месяц на всякий случай. Пару раз меня такая схема выручала, когда нужно было что-то достать из бэкапа недельной давности, к примеру.
Привожу 3 полных скрипта по созданию резервной копии сайта по схеме, предложенной выше.
Скрипт ежедневного бэкапа сайта backup-day.sh:
Скрипт еженедельного бэкапа сайта backup-week.sh:
Скрипт ежемесячного бэкапа сайта backup-month.sh:
Теперь для автоматизации добавляем эти 3 файла в cron:
Все, наш сайт надежно забэкаплен. По идее, сюда нужно прикрутить оповещение на почту, но у меня всё руки не доходят это сделать. Предпочитаю мониорить бэкапы с помощью zabbix.
Слушайте, и не говорите, что не слышали
Хочу предупредить, что этот скрипт не претендует на надёжный метод бэкапа часто меняющихся сайтов, сайтов с тяжелой базой данных, или иных взрослых и серьёзных веб-проектов. Но для сайтов-визиток — самое то.
Важное замечание: ваш логин и пароль будет виден в списке запущенных процессов во время закачки.
Шаг 1. Сохраняем файлы сайта
Можно пойти двумя путями. Либо загрузить файлы через графический интерфейс хостинга, либо сделать это через командную строку (актуально для выделенных серверов).
Если вы хотите создать бэкап сайта, который находится на вирутальном хостинге, то вам понадобится FTP-клиент. Например Filezilla. Необходимо открыть параметры клиента, ввести там адрес для подключения к серверу и ввести пароль. После этого файлы сайта можно будет перенести на свой компьютер обычным перетягиванием или кнопкой «скопировать».
В командной строке (терминале) Linux надо действовать следующим образом:
- Открываем терминал и подключаемся к серверу по протоколу Secure Shell (SSH).
- Находясь в корневой директории, создаем архив с файлами сайта с помощью команды:
Архив будет сохранен в корневой папке системы. Извлечь его оттуда можно командой копирования файла на другой носитель.
Создаем резервную копию вручную
Бэкапы можно делать самостоятельно в любой момент. Для этого не нужны сторонние приложения и сервисы.
А еще этот способ можно автоматизировать, если написать скрипт, выполняющий создание бэкапа, и настроить его запуск через планировщик задач Cron.
Backup Buddy
Премиальная система резервного копирования данных для сайтов на базе WordPress. Она установлена на 500 000 веб-ресурсов. Плагин полюбился вебмастерам по всему миру за высокую надежность и удобную систему планирования.
В Backup Buddy удобно автоматизировать копирование данных. Например, настроить ежедневное, еженедельное и даже ежемесячное копирование.
В качестве хранилища можно выбрать фирменный облачный сервис Stash (от создателей самого дополнения), облака Dropbox или Amazon S3, собственный жесткий диск или другой сервер (можно автоматизировать передачу архивов с данными по протоколу FTP).
Главное преимущество (и большая редкость в наше-то время) Backup Buddy – разовая оплата. На сервис не нужно подписываться. Просто платите за доступ к дополнению единожды и пользуетесь им столько, сколько нужно. Правда, количество сайтов ограничено, и это указано в описании той версии расширения, которую вы покупаете.
Вдобавок к функции копирования пользователь получает доступ к облаку Stash и утилите iThemes Sync для управления несколькими WordPress-сайтами через одну панель.
2. Подготовка к работе.
Двигаться будем поэтапно. Сначала просто рассмотрим вариант бэкапа непосредственно файлов сайта и базы данных, а затем полностью ответим на вопрос о том как сделать регулярную резервную копию сайта на wordpress.
Установим архиватор tar:
Создадим каталог для хранения скриптов /sh прямо в корневом каталоге CentOS 7:
6. Флаг исполняемости.
Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости. Для этого используется команда chmod +x и имя файла скрипта:
Теперь его можно выполнять прямо из консоли:
UpdraftPlus
Популярнейшее расширение для создания бэкапов WordPress-сайтов. Оно используется на 2 млн веб-ресурсов, и эта цифра продолжает расти. Все благодаря большому количеству функций, доступных в бесплатной версии плагина.
При необходимости в UpdraftPlus можно настроить расписание создания бэкапов, чтобы резервные копии автоматически генерировались и сохранялись в выбранное облачное хранилище или передавались по FTP на личный сервер. Все элементы управления плагином расположены в административной панели WordPress.
Собственно всё
Спасибо, что уделили внимание и прочли этот пост. Надеюсь, кому-то моя поделка облегчит жизнь, душевное спокойствие, и даже возможно спасёт в тяжелую минуту. Удачи!
UPD: Спасибо vk2 за правильное замечание, что ваш пароль и логин будет виден на сервере в списке процессов.
UPD: Спасибо kosenka, указал, что обязателен закрывающий слеш в пути WebDAV. Действительно, это же папка. Упустил я, но теперь исправил и в примере, и в скрипте.
Так же подсказал, что если curl ругается на сертификат, ему надо указать ключ -k, что позволит ему подключаться к сайтам без или с неправильным сертификатом.
Еще он справедливо заметил, что zip есть далеко не на каждом хостинге. Постараюсь добавить в ближайшее время строчку для кошерного gzip.
Учимся защищать WordPress-сайты на случай неожиданной атаки вирусов. Сохраняем данные в бэкапах, чтобы после любой катастрофы быстро восстановиться и вернуться к работе. Копируем файлы вручную и используем для этого лучшие WordPress-плагины.
3. Скрипт для архива файлов сайта.
Все комментарии и пояснения напишу сразу в скрипте:
Можно пользоваться отдельно этим скриптом для создания архивов файлов, не обязательно сайта.
Кладем скрипт в cron и получаем регулярную архивацию.
Вместо заключения
На этом все. Теперь вы знаете, как защититься от неожиданной потери данных на WordPress-сайте. Используйте на своем сайте хотя бы один из них (а лучше несколько), когда-нибудь точно пригодится. Веб-разработка и администрирование бывают непредсказуемыми и нервными, если вдруг под рукой нет свежего бэкапа.
В каком случае надо делать резервные копии?
Но описанные выше варианты все же опциональны, а вот уж где 100% нужны резервные копии, так это на серверах. Данные с ваших iOS-устройств почти всегда находятся в облаке, а приложения несложно скачать заново. Если же на сайт нападет вирус или вы случайно затрете важную базу данных, то есть вероятность остаться без ресурса целиком. А это колоссальный труд и много потерянных денег.
Лично я не делаю бэкапы компьютера и смартфона вообще. Все, что мне нужно (а иногда даже не нужно) обязательно хранится в облаке. То, что нужно очень сильно, хранится в двух экземплярах в разных хранилищах. Этого хватает для комфортной жизни. Эти данные и так подтянутся, даже если я куплю новое устройство и просто войду под своей учетной записью. Но я ни к чему не призываю, просто акцентирую внимание на всеобщей «облачности» современных систем. Может, и вам бэкапы не нужны. Но серверов это точно не касается.
6 лучших плагинов для создания бэкапов на WordPress
WordPress-расширений для создания бэкапов хватает. Не так, чтобы заблудиться можно было, но выбрать есть из чего. Я с выбором помогу. Расскажу о шести дополнениях, которые пользуются спросом среди вебмастеров и успели себя зарекомендовать.
Duplicator
Изначально у Duplicator было иное предназначение. Его создавали как программу, которая может переносить WordPress-ресурсы с одного сервера на другой без лишней суеты и траты времени на ручное копирование данных.
Логично, что функция клонирования, четко не привязанная к одной процедуре, быстро обросла новыми применениями. Многие пользователя начали делать бэкапы, используя Duplicator. И расширение быстро обрело популярность, ведь за него не нужно платить. Это единственное приложение в подборке, не требующее и копейки даже за дополнительные возможности.
Но есть и серьезный недостаток – отсутствие возможности настроить расписание. Все бэкапы через Duplicator создаются по требованию. Придется всегда об этом помнить и руками нажимать на соответствующую кнопку.
Настройка яндекс диска в CentOS 8
Существует достаточно удобный и бесплатный сервис Я ндекс.Диск, который может использовать любой желающий. Бесплатно дается не так много места, но для бэкапа сайта хватит. К слову, у меня с помощью всевозможных акций бесплатно доступно 368 ГБ:
Я ндекс.Диск раньше можно было подключать с помощью webdav, но в какой-то момент эта возможность была закрыта. Причем без анонса и уведомления. Теоретически, вы можете использовать webdav, но практически работать он не будет.
У меня в качестве сервера выступает CentOS 8, поэтому я расскажу как настроить консольный клиент linux для работы с яндекс диском в нем. Если у вас еще нет своего сервера, то читайте мои статьи по этому поводу - установка и настройка centos.
Для яндекс диска есть готовый rpm пакет, с помощью которого можно быстро установить клиента.
При такой установке, вам его обновлять придется вручную. Есть возможность подключить репозиторий, чтобы потом он обновлялся автоматически через dnf.
Клиент диска установили, теперь его надо настроить. Это можно сделать с помощью консольной команды.
Запустится мастер настройки, комментировать которые особо нет смысла, там и так все понятно.
Теперь все файлы, положенные в директорию /mnt/yadisk будут синхронизированы с облаком и загружены в него. Файлы не обязательно класть физически, подойдут и символьные ссылки. Статус синхронизации можно посмотреть отдельной командой.
Я одно время синхронизировал очень большие каталоги, с десятками тысяч файлов. Работало вполне сносно, но когда счет пошел на сотни тысяч файлов, стало тяжко и перешел на s3. А так в целом Яндекс.Диск очень устраивал в первую очередь своей ценой.
Восстановление сайта из резервной копии
Теперь рассмотрим вариант, когда вам необходимо восстановить сайт из резервной копии. Для этого нам понадобятся оба архива: исходники и база данных. Разархивировать в принципе можно где угодно. В windows архивы открываются бесплатным архиватором 7zip. Дамп базы данных в обычном текстовом формате, его можно открыть блокнотом, скопировать и вставить в phpmyadmin, если база небольшая.
Так что вариантов восстановления может быть много, этим мне и нравится такой подход. Все файлы в открытом виде, с ними можно работать любыми подручными средствами.
Вот пример того, как извлечь файлы из архива в консоли сервера. Разархивируем каталог www из бэкапа:
Для восстановления базы данных поступаем следующим образом. Сначала распакуем архив:
Теперь зальем дамп в базу данных:
Все, база данных восстановлена.
Необходимо учесть, что база будет восстановлена в базу с оригинальным именем и заменит ее содержимое, если таковая на сервере есть. Чтобы восстановить базу в другую, необходимо отредактировать начало дампа и заменить там название базы на новое. Если восстановление происходит на другом сервере, то это не имеет значения.
Настройки
Логин и пароль, и путь на облаке
Локальный путь для создания архивов
Хотя архивацию и заливку на сервис можно сделать одной строкой, в моём скрипте прежде чем загрузить файл, требуется его где-то создать. Путь для создания архивов задаётся в этой переменной.
Можно размещать хранилище локальных копий внутри сайта, а путь добавить в список исключенных из архивирования путей.
Список баз данных
Записывайте в массив $databases те базы, которые вы хотите архивировать. Вероятно стоит создать пользователя в БД без прав изменения и записи для такого использования.
Список сайтов
Стандартный вид одного из членов массива $sites — списка архивируемых сайтов.
Первый параметр — название сайта. Просто строка, которая будет приписываться к имени архива вашего сайта.
Второй — путь к файлам сайта.
Третий — список директорий, которые стоит исключить из архивации. Исключение отдельных файлов я не предусмотрел, но вы можете легко это добавить самостоятельно. Если вы создаёте архивы внутри одного из своих сайтов, то можете исключить это хранилище.
Пример:
На этом конфигурация скрипта заканчивается, и он готов трудиться во благо революции… общества… вебадмина.
Создаем резервную копию средствами хостинг-провайдера
Некоторые хостеры предоставляют своим клиентам возможность создавать неограниченное количество резервных копий сайта через встроенную панель управления без использования сторонних сервисов или приложений.
В Timeweb это работает следующим образом:
- Нужно открыть панель управления хостингом.
- Перейти в раздел «Резервные копии», который находится в меню слева.
- Нажать на кнопку «Создать резервную копию».
- Дождаться окончания процедуры.
Также копии на хостинге Timeweb регулярно создаются в автоматическом режиме. Все они доступны в специальном разделе панели управления и «живут» там в течение 30 дней.
BackWPup
Почти ничем не отличается от Updraft Plus и других конкурентов. Позволяет на регулярной основе создавать бэкапы в популярных сервисах типа Dropbox, Amazon S3, Rackspace и прочих. Дает возможность отправлять резервные копии по почте или пересылать их через протокол FTP.
Сам плагин распространяется бесплатно и дает кучу возможностей без доплаты. Можно создавать неограниченное количество копий в любом из доступных хранилищ. Можно даже это дело автоматизировать.
В PRO-версии появляется возможность использовать в качестве хранилища диски Google Drive, OneDrive, Amazon Gracier и HiDrive. Также за деньги разработчики предоставляют доступ к дополнительному инструменту, который помогает быстро восстанавливать копии через приложение, а еще возможность шифровать данные, чтобы защитить содержимое бэкапов.
VaultPress (Jetpack Backup)
Знаменитый и весьма востребованный менеджер резервных копий, разработанный одним из сооснователей компании WordPress.
Изначально это дополнение распространялось как отдельный продукт. Сейчас оно входит в состав подписки на JetPack (это базовый набор инструментов, упрощающих работу с WordPress и ускоряющих внедрение в него необходимых функций). Поэтому придется платить за создание бэкапов ежемесячно, хоть и с преимуществами в виде других возможностей, включенных в JetPack.
Главное преимущество плагина – отличная репутация разработчика. Правда, у VaultPress есть и ряд значимых недостатков. К примеру, подписку приходится оформлять для каждого сайта отдельно, поэтому резервное копирование с помощью этого расширения обходится дороговато. Также в базовой версии VaultPress хранит копию данных не больше месяца.
Читайте также: