Backup данных в Dropbox папку

Backup данных в Dropbox папку

Резервное копирование: база данных, веб-сайт, настройки сервера в dropbox папку.

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

 

 

Перед началом работы нам нужно создать приложение в нашем dropbox

Ссылка https://www.dropbox.com/developers/apps/

 

Выбрать:

  • Dropbox Api
  • App folder

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

Скрипт для работы с Dropbox аккаунтом

https://github.com/andreafabrizi/Dropbox-Uploader

Больше информации находится по ссылке выше, так же можно загрузить только скрипт

curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh

 

После того, как будет запущен скрипт $./dropbox_uploader.sh и если это было сделано в первый раз, нам будет предложено ввести Token Key его нужно сгенерировать в настройках приложения Dropbox см. рисунок

После генерации токена и передачи его в скрипт (просто скопировать во время запуска), мы можем загружать в наш dropbox аккаунт файлы.

Нужно обратить внимание на название папки (его можно изменить), куда будут загружаться файлы

 

Пример рабочего скрипта, который загружает архивы или любые файлы из папки backups в папку dropbox по расписанию – cron и удаляет исходный файл.

#!/bin/sh

BACKUP_FOLDER=/home/project/backups/*
for f in $BACKUP_FOLDER
do

    if [ -f $f ]; then
	/home/project/app/Dropbox-Uploader/dropbox_uploader.sh -qs upload $f ${f##*/}
	rm $f
    fi

done

 

Подведем итоги

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

Нужно быть внимательным с папкой в облаке.

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

Добавить комментарий