bash-скрипт Dropbox Uploader






Dropbox Uploader — это bash-скрипт при помощи которого вы сможете управлять файлами вашего Dropbox аккаунта, при этом не устанавливая сам клиент Dropbox. При помощи этого сценария можно загружать, скачивать, удалять, публиковать и получать списки файлов, находящихся в вашем Dropbox-хранилище. Подобный инструмент может оказаться весьма полезным, например, в случаях, когда необходимо иметь доступ к Dropbox с ARM-архитектуры (тот же Raspberry Pi), для которой ещё нет клиента. Ещё одним весомым плюсом данного скрипта является его зависимость лишь от одной библиотеки — cURL.

Dropbox



Dropbox Uploader, как вы уже догадались, может работать в любой системе, в которой имеется bash и cURL. То есть, сценарий будет успешно работать как в Linux, так и Mac OSX, FreeBSD и даже Windows/Cygwin. Для аутентификации и работы скрипт использует официальный Dropbox API, поэтому вам не нужно где-либо сохранять в открытом виде ваш логин и пароль от аккаунта, управляя доступом из вашего профиля на Dropbox.

Установка и настройка

Сценарий расположен на GitHub, откуда вы можете получить его в виде ZIP-архива или клонировать используя git:

После первого запуска сценарий вам необходимо зарегистрировать новое Dropbox App. О том, как это сделать, сценарий любезно рассказывает:

dropbox-uploader

После того, как будет создано Dropbox App, введите полученные App key и App secret. Далее, после того как скрипт запросит токен авторизации у Dropbox API, вы получите ссылку, перейдя по которой вы сможете подтвердить разрешение доступа к вашему аккаунту для созданного приложения:

Dropbox Uploader

После того, как подтвердите в браузере доступ приложения, возвращайтесь в терминал и жмите Enter. Если всё прошло успешно, скрипт сохранит данные ключей доступа в ~/.dropbox_uploader и теперь вы можете приступить к его использованию.

Получить краткую справку по имеющимся в сценарии командам можно, запустив его без параметров:

Dropbox Uploader

Как видите, ничего сложного, и теперь есть замечательная возможность бэкапа серверов прямо из shell-сценариев. Напоследок несколько примеров использования из readme: