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, что бы через скрипт не было возможности получить доступ ко всей системе.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *