Резервное копирование dropbox. Автоматическое резервное копирование файлов блога на сервис Dropbox

12.03.2024 Игры

– это довольно интересный сервис облачного типа. Что это значит? Только то, что можно хранить свои папки и файлы на стороннем сервере, не занимая место на компьютере. И делать это бесплатно. Но, как только мы зарегистрируемся в , у нас будет всего 2 Гб свободного пространства.

Впрочем, для начала и этого хватит, а увеличивать свою квоту можно, приглашая друзей по . Но обо всех тонкостях этого замечательного сервиса вы узнаете позже, а теперь – о том, как при помощи Dropbox сделать резервную копию (бэкап) своего сайта и, естественно, сохранить ее.

Другие публикации на тему Dropbox:

В принципе, все должны прекрасно знать, как это делать при помощи специальных плагинов или методов хостинг-провайдера, но дело в том, что у таких методов всегда остается один существенный минус – мы или занимаем место для резервирования сайта у себя на компьютере, или тот же объем у нас тратится на нашем сервере. Что не есть хорошо – иногда резервные копии занимают много места. И если на компьютере несколько десятков мегабайт вроде бы и не жалко, то место на сервере – это наши деньги. К тому же, храня резервную копию на своем ПК, мы рискуем когда-нибудь ее потерять. Переустановили операционную систему, поймали вирус – да мало ли что. Dropbox позволяет забыть о своих переживаниях. Создал бэкап, и забыл о нем – все в целости и сохранности. Но для этого нам нужно будет установить на сайт одни небольшой плагин, который и поможет связаться с нашим аккаунтом в Dropbox и поместить туда вашу резервную копию сайта. Плагин называется wp Time Machine .

Резервная копия нашего сайта, созданная при помощи этого плагина и сохраненная в Dropbox, будет содержать абсолютно все данные о нашем сайте — страницы, записи, комментарии, изображения и медиафайлы, темы и , а также копию в стандартном sql формате. Вот такой полезный функционал. Бэкап – это вещь необходимая, и даже сейчас, когда многие хостеры делают резервные копии наших сайтов автоматически, не помешает иметь свою – так, на всякий случай. Поэтому начнем с установки плагина wp Time Machine на сайт. И не забываем – у нас должен быть аккаунт в Dropbox, или просто регистрируемся прямо сейчас . Эта процедура займет у нас всего пару минут – заполнить несколько полей со своими данными, получить письмо и активировать аккаунт. Если аккаунт уже существует, то просто входим в него – мы знаем, как это делается:

Плагин, как обычно, мы установим из панели администратора нашего . В меню «Плагины» переходим в «Добавить новый» и в поле «Поиск» вбиваем название плагина — wp Time Machine. Вот как это выглядит на практике:

Резервная копия сайта — это все содержимое нашего сайта на WordPress в запакованном виде (zip или tar.gz), включая все наши записи, страницы, комментарии, изображения и медиафайлы, а также все (активированные и неактивированные) плагины и темы и . После того, как плагин будет закачан на сайт, нам останется его только активировать, и можно переходить к настройкам плагина. Для начала необходимо настроить плагин в пункте «Plugin Options». Здесь мы должны определить, в каком формате будет сохраняться наша резервная копия, а также настроить сохранение логов, кэша и другие мелочи, которые, в принципе, можно и не трогать.

После этого в генеральных настройках вводим свой e-mail от Dropbox, пароль от него же, и назначаем папку, куда будет сохраняться наш бэкап. Имя папки может быть абсолютно любым – главное, вписать его на английском языке, иначе вместо названия папки будем видеть крякозябры.

После этих несложных действий жмем на кнопку «Generate wp Time Machine archive», и ждем, пока не создастся наша резервная копия. Пока мы будем ждать, на экране будет крутиться вот такая картинка. Это будет продолжаться минуты 3-4, в зависимости от размера сайта:

После того, как копия создастся, мы в админпанели увидим такое сообщение:

А в нашем Dropbox появится новая папка с тем названием, которое мы ей определили. Там будут находиться все резервные копии нашего сайта.

В бэкапе мы не увидим копии самого WordPress конструктора и его конфигурационного файла . Это делается в целях все той же безопасности. Но каталог wp-content и все его содержимое обязательно будет присутствовать. Поэтому, если нужно получить самую полную копию сайта, то сохраняем файл wp-config.php самостоятельно, и также можно положить его в Dropbox.

При создании бэкапа в нашу новую папку Dropbox попадают следующие файлы:

1. wpTimeMachine-content-files.zip — архив нашего сайта (весь каталог /wp-content).
2. wpTimeMachine-data-files.sql – копия нашей базы данных, в которой хранятся все записи, страницы, комментарии и т.д.
3. wpTimeMachine-htaccess.txt – .htaccess файл конфигурации сервера.
4. wpTimeMachine-Instructions.txt – инструкция пользователю на английском языке.
5. wpTimeMachine-RestorationScript.sh - shell-скрипт, который поможет в автоматическом режиме вернуть .

Если мы пользуемся Dropbox и на компьютере, то можем увидеть, что к нашим папкам добавилась новая, которая содержит резервную копию со всеми вышеперечисленными файлами:

Пользоваться клиентом на компьютере очень удобно. Одним нажатием кнопки в админпанели своего WordPress сайта мы автоматически делаем резервную копию сайта на сервере Dropbox и на своем компьютере. Можно сразу пользоваться архивом wpTimeMachine-content-files.zip. Например, нам нужна копия всего одного файла – не создавать же из-за этого копию всего сайта, если она уже есть. Зашел в бэкап на компьютере, взял что тебе нужно, и все – просто и легко.

Из дополнительных возможностей плагина можно назвать также интересную фишку – возможность хранения резервной копии на не менее популярном сервисе Amazon S3 (см. ), или просто прописать в настройках сохранение на стороннем сервере FTP. Для этого, конечно, нам нужно знать информацию доступа к нему – пароль, логин, адрес. То есть, кроме компьютера и Dropbox, мы можете положить свою копию куда угодно. На этом работа с плагином и сервисом Dropbox закончена, и мы можете быть совершенно спокойны за все данные нашего сайта. У меня пока все. Кстати, по сервису планирую сделать серию интересных публикаций, поэтому продолжение следует. До связи на волнах

Резервное копирование данных — очень важный аспект Вашей работы за компьютером. Любая система, любая техника подвержена сбоям, и необходимо обеспечить максимальную безопасность данных, без которых продолжение зачастую просто невозможно.

В первую очередь, это Ваши логины, пароли, адреса , которые Вы храните в специальных программах, например, в программе .

Это также различные книги, ролики, текстовые файлы, фото и картинки , которые Вам дороги, и которые Вам не хочется потерять.

Это могут быть различные обучающие курсы, аудио и видеофайлы , которые при хранении занимают много места, и резервные копии которых Вы тоже хотели бы сохранить, для надежности.

Кроме того, в целях безопасности, на компьютер с хостинга часто скачиваются резервные копии сайтов и блогов , как файлов, так и .

Резервное копирование данных на компьютер — зачастую не самый лучший вариант. С компьютером тоже может что-то случиться. Можно, конечно, купить переносной жесткий диск, но, во-первых, это дополнительный расход средств. во-вторых такое копирование неудобно. Не исключены также ситуации, когда все носители по каким-то причинам могут пропасть.

Гораздо проще и удобнее организовать с помощью сервисов хранения данных , которые находятся в Интернете. Такие сервисы еще называют «облачными» сервисами хранения данных. Вам не нужно покупать дополнительные носители. Достаточно воспользоваться одним из таких сервисов.

Например, корпорация Microsoft предоставляет на сервисе SkyDrive бесплатно пользователям целых 25 Гбайт . Но сейчас мы с Вами поговорим о другом сервисе хранения данных , который называется

Уже несколько лет как появилась возможность любому смертному желающему арендовать не только shared-хостинг, но и «полноценный» сервер с root-доступом и возможностью настроить его так, как хочется самому. Настроить, например, кроме web-сервера еще и кучу других сервисов.
Так же поступил и я несколько лет назад. Сначала арендовал один сервер, потом другой, и переносил настройки ручками, находя нужные файлы в директории /etc.

За пару лет на моём сервере осело несколько блогов друзей, и даже почтовый сервер, так как давно не хочу, чтобы моя почта была у Google. Насчет сохранности данных задумывался после каждой статьи на Хабре, но всё было как-то не до этого. И, как говорится, админы делятся на три категории: на тех, кто не делает бэкапы, на тех, кто уже делает и на тех, кто даже проверяет восстанавливаемость из бэкапов. Так получилось и со мной, хоть хостер и очень хороший, но произошла у них авария с жесткими дисками. Да такая, что неделю они пытались восстановить диски и предварительные оценки были очень неутешительными. А бэкапов у меня не было. Какое настроение у меня было в те дни можете сами представить.

Но через несколько дней техникам хостера удалось-таки восстановить данные и запустить все виртуальные сервера на той ноде. А я задумался о бэкапах. Думал я так - бэкап должен быть не на том же сервере (естественно!), желательно, чтобы он был у меня на компьютере, но не в одном экземпляре. Я обдумал и установку FTP на домашний компьютер и даже отправку архивов письмами, но все эти варианты меня не устраивали. И я понял, что надо попробовать Dropbox, которым я к тому времени пользовался уже пару лет, а бесплатных гигов у меня было около 18-ти.

Преимущества бэкапа в Dropbox:

  • Независимость от домашней инфраструктуры и канала в Интернет
  • Множественные копии (сразу на все синхронизируемые ПК)
  • Кроме собственного хранения бэкапы хранятся и в облаке

Что делает представленный мной скрипт?

  • Инкрементальный бэкап файлов в указанных папках (по первым и пятнадцатым числам идет полный бэкап)
  • Бэкап всей базы MySQL
  • Бэкап архивируется с помощью 7zip, с указанием пароля (вам же не надо хранить пароли в открытом виде в Dropbox"е?)

Как это делается?

Вкратце, создаётся «приложение» с точки зрения платформы Dropbox, авторизуется пользователем (то есть нами) и пишется скрипт, который пользуется авторизационными данными и заливает файлы бэкапа на Dropbox.

А точнее?

Шаг 1 - создание приложения
Заходим на страницу App Console , нажимаем кнопку «Create app», выбираем тип «Dropbox API app», выбираем пункт «Files and datastores», так как мы собираемся работать с файлами, а в следующем пункте отвечаем «Yes - My app only needs access to files it creates», это означает, что ваше приложение будет ограничено только своей отдельной подпапкой в папке App, к другим файлам у него не будет доступа. Придумываем название своему приложению и нажимаем «Create app».
Перед вами предстанет целая страница настроек созданного приложения, но там не требуется ничего дополнительно настраивать. Но пока не закрывайте её.
Шаг 2 - скачивание и установка SDK
Чтобы писать приложения, которые будут работать с файлами в вашем Dropbox"е, надо зайти в раздел Core API . Там мы можем скачать нужные нам SDK, почитать документацию и пройти обучающие туры.
Так как я считаю, что лучшим языком для скриптования для меня является Python, то я скачал себе его SDK и установил. Установка очень простая, всё ограничивается скачиванием, разархивированием самого SDK и установкой его с помощью команд "python setup.py install ", или "pip install dropbox ".
Шаг 3 - авторизация
Библиотека Core API использует OAuth v2 , но Python SDK от Dropbox"а сам позаботится о том, как им пользоваться, так что вам не о чем волноваться и не придется писать всё с нуля.
Настало время накодить небольшой скрипт:

# Включить Dropbox SDK import dropbox # Вставить настоящие app_key и app_secret со страницы созданного приложения из шага 1 app_key = "INSERT_APP_KEY" app_secret = "INSERT_APP_SECRET" flow = dropbox.client.DropboxOAuth2FlowNoRedirect(app_key, app_secret) # На данном этапе юзер авторизуется authorize_url = flow.start() print "1. Перейдите по ссылке: " + authorize_url print "2. Нажмите "Allow"" print "3. Скопируйте авторизационный код." code = raw_input("Вставьте авторизационный код сюда: ").strip() # Если вы ввели правильный код, то дальше он отсылается на сервер и получается access_token, который нам нужен access_token, user_id = flow.finish(code) # Для проверки авторизации выведем информацию об аккаунте client = dropbox.client.DropboxClient(access_token) print "linked account: ", client.account_info() # А сам access_token вам надо сохранить в файл для дальнейшей работы скрипта print "access_token: ", access_token

Шаг 4 - создаём временную папку и файл токена
Сам скрипт backup.py у меня лежит в папке /root, в ней же есть временная папка backup и файл dropbox_token.txt. Вам тоже нужно создать их и в файл записать токен с предыдущего шага. Токен состоит из двух строк, в файле они именно так и лежат, с переносом строки.
Шаг последний - пишем скрипт бэкапа

Развернуть

#!/usr/bin/python import os import sys import time import string from os.path import getsize curDate = time.strftime("%d.%m.%Y", time.gmtime()) curDay = time.strftime("%d", time.gmtime()) backupDelay = time.time()-86400 if curDay == "01" or curDay == "15": backupDelay = 0 print "curDate:", curDate # Include the Dropbox SDK libraries from dropbox import client, rest, session # Get your app key and secret from the Dropbox developer website APP_KEY = "ключ приложения" APP_SECRET = "секретный код приложения" # ACCESS_TYPE should be "dropbox" or "app_folder" as configured for your app ACCESS_TYPE = "app_folder" sess = session.DropboxSession(APP_KEY, APP_SECRET, ACCESS_TYPE) oauth_token = "" oauth_token_secret = "" f = open("dropbox_token.txt","r") if f: oauth_token = string.strip(f.readline()) oauth_token_secret = string.strip(f.readline()) f.close() print "oauth token found:", oauth_token, oauth_token_secret if oauth_token == "" or oauth_token_secret == "": request_token = sess.obtain_request_token() # Authorize the application on dropbox site url = sess.build_authorize_url(request_token) print "url:", url print "Please visit this website and press the "Allow" button, then hit "Enter" here." raw_input() # This will fail if the user didn"t visit the above URL and hit "Allow" access_token = sess.obtain_access_token(request_token) f = open("dropbox_token.txt","wb") f.write(access_token.key + "\n") f.write(access_token.secret) f.close() else: sess.set_token(oauth_token, oauth_token_secret) client = client.DropboxClient(sess) print "linked account:", client.account_info() def sync_dir(dir): rootdir = dir print "Syncing directory:", rootdir startTime = backupDelay for root, subFolders, files in os.walk(rootdir): for file in files: fname = os.path.join(root,file) if os.path.getmtime(fname)>startTime: #print root, file os.system("mkdir -p "backup"+root+""") os.system("cp ""+fname+"" "backup"+fname+""") print "Making dump of MySQL databases..." os.system("mysqldump --all-databases -uroot -pROOT_ПАРОЛЬ_MYSQL -r backup/backup.sql") sync_dir("/var/www") sync_dir("/var/spool/virtual") sync_dir("/home/user") backupName = "backup_"+curDate+".7z" print "Creating archive with name", backupName os.system("7z a -pПАРОЛЬ_АРХИВА "+backupName+" backup/* /etc") f = open(backupName,"rb") if f: fsize = getsize(backupName) uploader = client.get_chunked_uploader(f, fsize) print "Uploading file", fsize, "bytes..." while uploader.offset < fsize: try: upload = uploader.upload_chunked() print "." except rest.ErrorResponse, e: # perform error handling and retry logic print "error uploading file!" uploader.finish("/"+backupName) f.close() print "File uploaded successfully." print "Deleting temp files..." os.system("rm -r backup/*") os.system("rm " + backupName);

Послесловие
  • Этот скрипт я добавил в crontab с запуском ежедневно в 4:00 утра.
  • В скрипте есть три строки с вызовом функции sync_dir, точно так же вы сами можете настроить, какие папки вам надо бэкапить.
  • Скрипт не удаляет файлы, которые были удалены из папки, если инкрементально разархивировать полный архив и последующие, то удалённые папки/файлы останутся.
  • Удаление старых бэкапов в самом Dropbox я делать не стал, чищу папку сам когда вспоминаю об этом.
  • Недавно взял себе еще пару VPS в других странах, а в скрипт добавил только префикс к названию бэкапов, таким образом все бэкапы сливаются в одну папку, но их можно отличить очень просто.

Наверняка вы слышали о Dropbox - замечательном облачном сервисе хранения и синхронизации файлов. Но далеко не все знают о возможности использовать Dropbox для нужд WordPress-а. В сегодняшнем уроке речь пойдет о том, как использовать ваш Dropbox-ящик для резервного копирования сайта на WordPress.

Для выполнения этого урока вам понадобится зарегистрированный аккаунт Dropbox . Если у вас такого нет - зарегистрируйтесь . Вся процедура займет пару минут.

Вы также можете посмотреть наш видео урок:

Резервная копия WordPress - что это?

Это все содержимое вашего сайта на WordPress в запакованном виде (.zip или.tar.gz ), включая все записи, страницы, комментарии, изображения и медиафайлы, а также плагины и темы.

Резервные копии делаются при переноса сайта или его миграции на случай, если что-то пойдет не так. Или просто как правило хорошего тона - резервное копирование выполняется автоматически по расписанию пару раз в неделю для сохранности ваших данных.

В этом уроке я опишу, как делать резервное копирование WordPress-сайта в папку Dropbox на примере плагина .

Это плагин очень прост в работе. Он позволяет сохранять не только сам файловый архив сайта, но и.sql файл с базой данных, которую можно будет восстановить через phpMyAdmin . Также экспортируется файл.htaccess с дополнительными настройками конфигурации сервера. Со всеми возможностями плагина вы можете ознакомиться на странице разработчика .

Стоит отметить, что в целях безопасности при создании бэкапа не сохраняется сам движок WordPress и его конфигурационный файл wp-config.php . В архив резервной копии будет включен только каталог /wp-content со всем содержимым (plugins , themes , uploads , etc.)

Поэтому перед миграцией сайта не забудьте сохранить этот файл (wp-config.php) или хотя бы данные для доступа к БД WordPress.

Установка

Создание резервной копии

После активации плагина перейдите в меню Параметры → wp Time Machine .

Все, что нужно сделать, - это заполнить 3 поля (email и пароль от вашего ящика Dropbox, а также название папки, куда будет создана резервная копия). Введите данные и нажмите кнопку Generate wp Time Machine archive .

Подождите, пока идет процесс создания и перемещения резервной копии. Не закрывайте окно браузера, пока видите это уведомление:

Как только все будет готово, вы увидите следующее:

Теперь просто нажмите Remove this message . Ваша резервная копия уже создана и помещена в папку Dropbox.

Что получилось

Давайте посмотрим, что у нас получилось. Зайдите на свой ящик Dropbox и вы увидите новый каталог в менеджере файлов. Внутри будут находится следующие файлы:

При создании резервной копии в папку Dropbox помещаются 5 файлов:

Если у вас установлен клиент Dropbox для операционной системы, вы можете сразу получить доступ к файлам резервной копии, просто зайдя в папку Dropbox на своем компьютере:

Это очень удобно . Нажав всего одну кнопку в админке WordPress, вы автоматически получаете резервную копию сайта в "облаке " (на ящике Dropbox) и у себя на компьютере на жестком диске. Можно сразу открыть архив wpTimeMachine-content-files.zip и получить доступ к нужным файлам.

Дополнительные возможности

Если вы зайдете в админке WordPress в меню Параметры → wp Time Machine → Show Plugin Options , то увидите дополнительные возможности плагина.

Кроме экспорта в ящик Dropbox вы также можете выбрать менее популярный сервис Amazon S3 или просто указать произвольный FTP-сервер . Просто укажите хост, логин и пароль для FTP-доступа, и резервная копия вашего сайта будет создана на указанном сервере.

Вы также можете выбрать формат архива резервной копии - .zip или.tar.gz ; включить или выключить журнал изменений; исключить из архива кэш-папки или сделать так, чтобы все папки в бэкапе содержали дату экспорта в заголовках.

С помощью специального плагина Dropbox Handy Backup получает полный доступ к аккаунту Dropbox, используя его как хранилище резервных копий или как источник данных для задач резервного копирования.

Вы можете использовать Dropbox как хранилище резервных копий фотографий , музыки, видео и других данных. По умолчанию Handy Backup копирует файлы с сохранением исходного формата, что позволяет просматривать и использовать бэкап Dropbox как обычные файлы данных.

Рекомендуемое решение для резервного копирования на Dropbox

Скачать

Купить!

Версия 8.0.6 от 2 октября 2019 . 105 MB
Программа резервного копирования Handy Backup. 1200 RUB за лицензию

Решение Standard позволяет без ограничений использовать Dropbox в качестве источника или хранилища резервных копий. Бесплатная пробная версия - 30 дней!

Преимущества использования автоматического бэкапа Dropbox

Handy Backup предоставляет многочисленные преимущества и возможности для работы с данными Dropbox:

Эти и другие возможности Handy Backup позволяют существенно сэкономить место в хранилище данных, уменьшить время выполнения задач, а также повысить удобство и надёжность выполняемых операций.

Как выполнить резервное копирование Dropbox с помощью Handy Backup?

Чтобы создать задачу копирования на Dropbox с помощью программы Handy Backup, воспользуйтесь, пожалуйста, нижеприведённой инструкцией:

  1. Откройте программу Handy Backup и создайте новую задачу резервного копирования .
  2. Выберите данные для резервного копирования.
  3. На Шаге 3 выберите в левой части окна плагин Dropbox . Дважды щёлкните по "Создать подключение ".

  1. В новом диалоговом окне нажмите на кнопку "Подключиться к Dropbox ". Вы будете перенаправлены к интерфейсу Dropbox.
  2. Введите ваши данные для доступа к аккаунту Dropbox в поля диалога.

  1. Разрешите Handy Backup доступ к Dropbox. Возвращайтесь в мастер создания задачи.
  2. Продолжайте создавать новую задачу резервного копирования, как это описано в Руководстве Пользователя .
  3. Дайте вашей задаче имя и завершите работу мастера создания задач.

Ваша задача копирования на Dropbox готова к использованию и будет запущена по установленному вами расписанию; вы также можете в любой момент запустить её вручную.

Задачи восстановления данных из копии Dropbox и копирования Dropbox

Вышеприведённая инструкция по созданию новой задачи с использованием Dropbox практически не отличается от создания задач восстановления или использования Dropbox в качестве источника данных. В этих случаях создавайте или выбирайте нужную конфигурацию Dropbox на Шаге 2.

Примечание: В обоих случаях, описанных в этом параграфе, вы должны будете также указать данные для резервного копирования файлов Dropbox (с помощью меток) или для восстановления (выбрав файл backup.hbi ).

Видеоурок: Автоматическое резервное копирование на Dropbox

Видеоурок по созданию резервных копии на Dropbox, а также бэкап данного хранилища с помощью Handy Backup.

Данное видео основываются на предположении, что Handy Backup уже установлен на компьютере. Если это не так, пожалуйста, скачайте и установите программу перед изучением данного видео.

Используйте Handy Backup, чтобы превратить Dropbox в надёжное, доступное из любой точки мира хранилище автоматически обновляемых резервных копий ваших данных!