Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Доступ к Amazon Cloud Drive из командной строки Linux

Оригинал: How to access Amazon Cloud Drive from the command line on Linux
Автор: Dan Nanni
Дата публикации: 12 января 2016 года
Перевод: А. Кривошей
Дата перевода: декабрь 2016 г.

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

Стоимость 99 долларов в год может быть достаточно большой для тех, кто покупает что-то в интернете время от времени, но люди типа меня, которые покупают практически все в Amazon, и ежедневно пользуются другими его сервисами, готовы платить за Prime.

Что такое Amazon Cloud Drive?

Amazon Cloud Drive

Amazon Cloud Drive (ACD) является одним из преимуществ Amazon Prime. ACD - это облачное хранилище, похожее на Dropbox или Google Drive, однако бесплатное только для членов Amazon Prime. Если вы не являетесь членом Amazon Prime, или не собираетесь стать им в будущем, этот пост скорее всего не для вас (хотя никто не запрещает оплачивать Amazon Cloud Drive отдельно).

Подписчики Amazon Prime могут хранить в Amazon Cloud Drive "неограниченное" количество фотографий и до 5 Гб других файлов бесплатно. Некоторым пользователям Prime (я в их числе) предлагали апгрейд до плана "Unlimited Everything", где вы получаете неограниченное дисковое пространство для любых файлов. Если вы не являетесь членом Amazon Prime, можете оформить платную платную подписку за 11.99 USD в год.

Несмотря ни на что, я думаю, что ACD еще предстоит длинный путь для достижения уровня, позволяющего конкурировать с другими платными облачными хранилищами. У него не только нет официального клиента для Linux, но и существующие официальные клиенты (для Windows, OS X, Android и iOS) далеки от совершенства в части пользовательского интерфейса, производительности и возможностей синхронизации. В итоге я нашел хороший неофициальный клиент ACD под названием acd_cli, который я и хочу представить сегодня.

acd_cli - это легковесный консольный клиент Amazon Cloud Drive, позволяющий получать доступ к хранилищу ACD из командной строки Linux. Он также включает модуль FUSE для ACD, поэтому вы можете "монтировать" и работать с ним как с частью локальной файловой системы.

Установка acd_cli в Linux

Требования

acd_cli требует Python 3.3.2 или более свежую версию. Убедитесь, что у вас установлен python3, этого будет достаточно.

$ python3 -V

Большинство свежих дистрибутивов Linux должны удовлетворять этому требованию.

Также вам понадобится установленный pip3 (посмотрите это руководство, если он не установлен).

В системах CentOS/RHEL, которые не содержат python3/pip3 в своих базовых репозиториях, вы можете установить python3/pip3, следуя этому руководству.

Установка acd_cli с pip

После того, как у вас уже есть python3 и pip3, установка acd_cli выполняется очень просто:

$ sudo pip3 install --upgrade --pre acdcli

Для пользователей Arch Linux в AUR есть уже собранный пакет.

Первоначальная настройка acd_cli

Перед использованием acd_cli необходимо один раз авторизоваться в Amazon Cloud Drive с помощью OAuth. Чтобы запустить эту процедуру, введите:

$ acd_cli init

Запуск первоначальной настройки

Откроется новое окно браузера и загрузится https://tensile-runway-92512.appspot.com. Если вы работаете на сервере без графического интерфейса, вы можете открыть браузер на другом компьютере и перейти на https://tensile-runway-92512.appspot.com. Это веб-приложение обрабатывает серверную часть процедуры OAuth, его исходный код доступен по адресу https://tensile-runway-92512.appspot.com/src.

Вас попросят авторизоваться в своем аккаунте Amazon.

Авторизация

Введите свои данные и увидите страницу, на которой вам будет необходимо разрешить доступ acd_cli к вашему ACD.

Разрешение доступа acd_cli

Будут сгенерированы необходимые учетные данные OAuth, которые будут сохранены в виде файла в формате JSON под именем "oauth_data". Поместите этот файл в папку ~/.cache/acd_cli на компьютере, с которого вы собираетесь запускать acd_cli, и нажмите ENTER.

Разрешение доступа acd_cli

Перед запуском любой команды с acd_cli, вам необходимо синхронизировать локальный кэш с вашим аккаунтом Amazon Cloud Drive. Большинство команд acd_cli требуют, чтобы локальный кэш был актуализирован. Следующая команда выполняет синхронизацию:

$ acd_cli sync

На этом первоначальная настройка acd_cli завершена и вы можете подключаться к ACD из командной строки.

Доступ к Amazon Cloud Drive из командной строки

Давайте быстро проверим, правильно ли настроен acd_cli, с помощью следующих команд:

$ acd_cli usage
$ acd_cli ls /

Первая команда покажет вам, сколько дискового пространства в вашем хранилище занято. Вторая покажет содержимое корневой папки.

Команды acd_cli

Ниже приведены другие примеры базовых функций интерфейса командной строки acd_cli.

Просмотр содержимого директории:

$ acd_cli ls /Pictures

Скачивание всей директории:

$ acd_cli dl /Pictures/Jessica_Wedding

Загрузка всей локальной директории в ACD:

$ acd_cli ul ./Xmas_2015 /Pictures

Команды acd_cli

Полный список функций можно найти в официальной документации.

Монтирование Amazon Cloud Drive в Linux

Еще одна полезная возможность acd_cli - поддержка FUSE, что позволяет непривилегированным пользователям монтировать Amazon Cloud Drive как файловую систему FUSE.

Для локального монтирования ACD просто выполните команду:

$ acd_cli mount /local/mount/point

Теперь вы можете использовать нативные команды Linux (например ls, df, cp, mv) для доступа к своему аккаунту ACD.

Отмонтирование ACD:

$ acd_cli umount ./acd

Монтирование Amazon Cloud Drive

Если вы хотите, чтобы ваш аккаунт ACD монтировался автоматически при загрузке ситсемы, вы можете настроить systemd для автоматического монтирования ACD (предположим, что в вашем дистрибутиве Linux используется systemd).

Сначала создайте необходимые директории (локальную точку монтирования и пользовательскую директорию systemd).

$ mkdir ~/acd
$ mkdir -p ~/.config/systemd/user

Создайте следующий файл systemd.

Перезагрузите систему и активируйте systemd как обычный пользователь:

$ systemctl --user daemon-reload
$ systemctl --user start amazon-cloud-drive.service
$ systemctl --user enable amazon-cloud-drive.service

Теперь ваш аккаунт ACD должен монтироваться в ~/acd автоматически при загрузке системы.

Обратите внимание, что поддержка FUSE в acd_cli помечена как "экспериментальная", поэтому не всегда все работает гладко.