Как сохранять резервные копии windows в dropbox. Резервное копирование с помощью Dropbox

Всем привет! Наверное, мало кто делает резервные копии файлов своего блога, ну или делает очень редко, как я раньше. Про то, как делать резервные копии базы данных я уже рассказывал в , где благодаря плагину WordPress Database Backup к нам почту регулярно автоматически приходят резервные копии именно базы данных .

Нам так же нужно периодически делать резервные копии ФАЙЛОВ блога . Поверьте, это очень нужно и может очень сильно пригодится в будущем. Благодаря очень полезному и простому плагину WordPress Backup to Dropbox – это сделать очень просто.

Идею про данный плагин мне подкинули все те же добрые люди, читатели блога вот в и уроке. Спасибо, друзья. После успешного его использования, я решил рассказать о данном плагине Вам.

Принцип работы Dropbox и плагина WordPress Backup to Dropbox

Существует очень интересный сервис под названием . Суть его заключается в следующем: на ваш аккаунт выделяется 2 ГБ объема (это при использовании бесплатной версии аккаунта – этого, по крайней мере хватает мне вполне), после на компьютере появляется папка, размером 2 ГБ (допустим, называется она Dropbox) и эта папка сихронизируется с сервером.

То есть, к данной папке можно получить доступ с любого компьютера, мобильного устройства (при авторизации с помощью логина и пароля). Очень удобная вещь, скажу я вам.

Dropbox я использую уже более полугода. К примеру, кому-нибудь нужно скинуть небольшой файл при общении по аське. Я беру этот файл закидываю в определенную папку своего же компьютера, папка моментально сихронизируется и я делюсь с ссылкой на скачивание файла. То есть это некое “хранилище файлов”.

А вот данный плагин - WordPress Backup to Dropbox, автоматически отправляет резервные копии файлов блога в Ваш Dropbox. То есть, даже если у Вас сгорит винчестер на компьютере, а на хостинге ваш сайт случайным образом “удалится”, Вы с легкостью сможете выгрузить свои файлы блога с Dropbox’a.

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

Ниже можете посмотреть видео про то, как работает Dropbox (правда не на русском):

OFb0NaeRmdg

Регистрация в Dropbox

Установка и настройка плагина WordPress Backup to Dropbox

Ну а теперь перейдем непосредственно к плагину WordPress Backup to Dropbox, собственно ради чего и был данный урок.

Вот и все! Теперь в запланированное Вами время (например, раз в неделю) будут делаться резервные копии блога. От нас ничего не требуется. Воспользоваться данным плагином рекомендую в обязательном порядке!

Урок дописал, пойду в награду себе выпью вкусный чай:). Уже давно я себя так мотивирую, как ни странно:).

До завтра, друзья!

Уже несколько лет как появилась возможность любому смертному желающему арендовать не только 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 в других странах, а в скрипт добавил только префикс к названию бэкапов, таким образом все бэкапы сливаются в одну папку, но их можно отличить очень просто.

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

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

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

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

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

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

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

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

Сервис Dropbox предоставляет для своих пользователей массу возможностей. Каждый человек решает для себя сам, как использовать его. Например, я использую его для резервного копирования своих данных на Dropbox , которое проходит для пользователя совершенно незаметно в фоновом режиме. Там же вы узнаете, как зарегистрироваться и пользоваться этим сервисом. Если вы владеете своим блогом, то наверняка задумывались сохранностью данных этого блога от всевозможных неприятностей, а если не задумывались, то стоит прямо сейчас это сделать. Существует масса плагинов, которые сохраняют базу данных, но очень мало, которые делают резервное копирование блога полностью, то есть и базу данных, и картинки, и сами файлы блога вместе с темой. Самым удобным способом для меня стал способ делать backup блога wordpress на dropbox с помощью плагина «WordPress Backup to Dropbox». Это значит, что весь ваш блог и база данных будет скопирована на сервис Dropbox в ваш аккаунт, а затем синхронизирован с вашим компьютером, а значит, скопирован на ваш компьютер полностью. В случае неисправности блога, вы сможете восстановить блог как с помощью вашего , так и полностью самостоятельно.

Плагин «WordPress Backup to Dropbox» делает резервные копии на сервис Dropbox, это подразумевает, что аккаунт у вас уже есть. Если его у вас нет и вы хотите получить дополнительно 250 Мб совершенно бесплатно к стандартным 2 Гб дискового пространства, то . Для тех, кто не знает, что такое сервис Dropbox. Это сервис для хранения и синхронизации данных между компьютерами пользователя. Для того, чтобы синхронизация осуществлялась с вашими устройствами, а это может быть не только компьютер под управление Windows, но и Linux, Mac или Android, вам нужно установить небольшую программу на устройство. Она автоматически будет копировать все данные из специальной папки с компьютера на сервис и наоборот. Максимальный объём, который можно заработать, привлекая людей, это на данный момент 8 Гб. Если же вы не хотите использовать возможности Dropbox в полном объёме, то просто не устанавливайте программу, а просто зарегистрируйтесь по ссылке выше и установите плагин в панели веб-мастера для того, чтобы делать резервное копирование блога на wordpress. Вы можете просто разархивировать плагин в папку /wp-content/plugins/ или сделать всё в автоматическом режиме. Делается это в следующей последовательности:

  1. Открыть вкладку «Плагины» и нажать «Добавить новый».
  2. Нажать на открывшейся вкладке на ссылку «Загрузить».
  1. Нажать на кнопку «Выбрать файл», после чего выбрать предварительно сохранённый фал плагина «WordPress Backup to Dropbox» на вашем компьютере и нажать на кнопку «Установить».

  1. Нажать на ссылку «Активировать плагин».

Всё, плагин для backup блога на wordpress установлен и осталось его настроить.

  1. Открывайте вкладку в панели-вебмастера «Параметры» и нажимайте «Backup to Dropbox». У вас появится новое окошко с просьбой авторизации в сервисе Dropbox.

  1. Нажимайте кнопку «Authorize». Этот будет означать, что вы предоставляете этому плагину разрешение на доступ к аккаунту и копирования в него данных. Плагин не сохраняет ваши данные, поэтому, вы можете его смело использовать.

  1. Нажимайте кнопку «Allow». Если всё нормально, а так оно и будет, то вам сообщат, что всё нормально и dropbox связан с вашим плагином.

  1. Вернитесь на вкладку с плагином и нажмите на кнопку «Continue».

Если всё нормально прошло, то вы попадёте в настойки плагина, если нет, то пройдите весь путь ещё раз, но побыстрее, тут похоже есть ограничение по времени или ещё что-то.

Настройки плагина резервного копирования «WordPress Backup to Dropbox» довольно просты:

Настройки «Settings»:

  • Locally store backup in this folder – папка в которой будут хранится файлы backup на вашем локальном диске, то есть на хостинге. Иногда плагин не может создать папку самостоятельно. Тогда вам нужно сделать это и создать папку для хранения этих файлов, выставив права для неё «777». Это позволит плагину записывать файлы бэкапа.
  • Store backup in this folder within Dropbox – будет указывать на папку, куда будут складываться файлы бэкапа на сервисе Dropbox. Если у вас один сайт, то можно обойтись настройками по умолчанию, в противном случае, каждому блогу нужно дать уникальный путь к данным. Например, я дал путь «WordPressBackup/zarabotokwmzru». Без точки он потому, что плагин не позволяет этого сделать, а может этого не позволяет Dropbox.
  • Временные настройки . «Day and Time » — день недели и время для резервного копирования. «Frequency » — настройка частоты backup блога: ежедневно, еженедельно, ежемесячно и несколько раз в неделю.

В старой версии плагина был ещё параметр количества одновременно хранимых файлов, но теперь его нет.

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

Резервное копирование блога на wordpress следует делать обязательно, так как тот, кто заботится о сохранности своих данных (а здесь речь идёт о долгом процессе работы над блогом), будет в выигрышном положении среди тех, кто backup блога не делает.

Здравствуйте, уважаемые читатели! Сегодня хочу рассказать, как сделать бэкап сайта (или резервное копирование) при помощи плагина WordPress Backup to Dropbox . Этот плагин позволяет скопировать не только базу данных, но также все файлы ресурса на облачный сервис Дропбокс .

Для чего же нужно копирование сайта? Представьте себе, что результатом некоторых непредвиденных действий на хостинге стала потеря всех файлов и базы данных вашего проекта. Хорошо, если хостер регулярно делает бэкапы сайта, тогда всегда можно при форс-мажорных обстоятельствах к нему обратиться; кстати, которым пользуюсь я, поступает именно так. Но всегда могут случиться какие-то изменения. Ну перестали осуществляться по каким-то причинам резервные копирования, что же делать? Вот тогда помогает и сделанная плагином WordPress Backup to Dropbox копия сайта. Кстати, альтернативным вариантом является .

Прежде чем перейти непосредственно к описанию работы плагина, необходимо дать разъяснения собственно сервиса, где будут храниться копии файлов, а также данных. Сначала вкратце, что такое облачные сервисы , одним из которых является Dropbox. Эти сервисы делятся на две составляющие: front end (часть пользователя, которая включает компьютер и приложение для доступа), также back end («облачная» часть системы). Эти две составляющие связаны между собой сетью интернет.

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

Конечно, сейчас существует немало сервисов, которые предоставляют подобные услуги. К тому же каждый из них имеет свои плюсы и минусы, везде свои правила, платные услуги, которые включают различные тарифные планы. Чем дороже, тем больше возможностей он дает. Я дал коротенькую характеристику понятию «облачный сервис» вообще, но нас, конечно, интересует именно Дропбокс, поскольку предоставляет бесплатно 2 Гб пространства под хранение файлов, что вполне достаточно, чтобы сделать бэкап сайта; а еще потому, что именно этот сервис используется для резервного копирования плагином Wordpress Backup to Dropbox.

Дропбокс: как зарегистрироваться и скачать приложение

Итак, переходим к основному. Сначала регистрируемся на официальном сайте Dropbox.com . Для этого заполняете нижеследующую форму:

Нажимаете кнопку «Create account» . После этого вам предложат сохранить установочный файл на компьютер:



Если автоматически не началась загрузка, то есть не появилось диалоговое окно с предложение сохранить загрузочный файл, кликните по ссылке «restart the download» . Ниже дана пошаговая инструкция начала установки приложения Дропбокс: запускаете сохраненный ранее загрузочный файл dropbox.exe; в появившемся диалоговом окне, которое запрашивает разрешение на внесение изменений, нажимаете «Yes»; для установки приложения нажимаете «Install».

Установка стандартная, ничего сложного нет. Единственное, можете выбрать диск, на который будете устанавливать приложение. По умолчанию там стоит C; но мне, например, удобнее использовать диск D, куда я и инсталлировал приложение. После установки будет видна папка Dropbox:


Кликнув по ней, увидите, что она состоит из 3 подпапок:



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


Ну вот вкратце, что такое облачный сервис Дропбокс, для общей информации это было необходимо. Теперь переходим непосредственно к описанию того, как сделать бэкап сайта (резервное копирование) при помощи плагина WordPress Backup to Dropbox.

WordPress Backup to Dropbox: установка, настройка и тестирование

1. Скачайте плагин Backup to Dropbox на компьютер. Процедура стандартная, если непонятно, почитайте инструкцию по установке плагинов для WordPress, которую я подробно описывал . Последним шагом активируйте расширение.

Там нажимаете «Authorize»:



Нажимаете «Allow», следующей должна будет информация об удачном соединении с аккаунтом Dropbox:


4. Теперь возвращаемся обратно в админку вордпресс в тот же раздел, нажимаем «Continue»:


5. Теперь необходимо настроить WordPress Backup to Dropbox надлежащим образом. В разделе «Настройки» указываем папку, в которую будет осуществляться резервное копирование.


Время в графе «День и Время» лучше выбрать ночное. Например, Среда 03:00; обычно в это время нагрузка на сервер минимальная. «Периодичность» - частота, с которой будет производится бэкап сайта. Думаю, раз в неделю нормально для среднего сайта или блога. Ставим «Еженедельно».

6. Теперь установим папки, которые следует исключить из резервного копирования. Для плагина wordpress backup to dropbox таковой является подпапка backups. Для этого необходимо кликнуть по папке wp-content и напротив открывшейся backups поставить галочку:


Не забываем нажать кнопку «Сохранить изменения» , чтобы сохранить настройки. Теперь все настройки произведены, в определенное время, которое вы указали, будет производится автоматический бэкап сайта. Но это пока не все. Попробуем произвести тестирование работы плагина. Для этого нажимаем «WPB2D», затем «Backup log» и «Начать резервное копирование»:


В процессе бэкапа сайта будете наблюдать следующую картину в админ-панели WordPress:


После того, как бэкап завершиться, вы увидите зеленую галочку в правом нижнем углу панели вашего компьютера рядом с логотипом dropbox, а в админ панели в разделе «Настройки» следующую запись:


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

Если желаете быстро освоить навык построения собственного ресурса на Вордпресс, изучите досконально необходимый для этого курс Е.Попова «WordPress - Профессиональный блог за один день», лидера по созданию качественных инфопродуктов. В дополнение можете познакомиться с другими , которые помогут в решении данной задачи.