Библиотека сайта 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, который постоянно расширяет свою бизнес-модель для удовлетворения растущих аппетитов пользователей, и центром этой бизнес-модели является членство в
Стоимость 99 долларов в год может быть достаточно большой для тех, кто покупает что-то в интернете время от времени, но люди типа меня, которые покупают практически все в Amazon, и ежедневно пользуются другими его сервисами, готовы платить за Prime.
Что такое 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 - это легковесный консольный клиент 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 в
Первоначальная настройка 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.
Будут сгенерированы необходимые учетные данные OAuth, которые будут сохранены в виде файла в формате JSON под именем "oauth_data". Поместите этот файл в папку ~/.cache/acd_cli на компьютере, с которого вы собираетесь запускать acd_cli, и нажмите ENTER.
Перед запуском любой команды с 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 ls /Pictures
Скачивание всей директории:
$ acd_cli dl /Pictures/Jessica_Wedding
Загрузка всей локальной директории в ACD:
$ acd_cli ul ./Xmas_2015 /Pictures
Полный список функций можно найти в
Монтирование 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
Если вы хотите, чтобы ваш аккаунт 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 помечена как "экспериментальная", поэтому не всегда все работает гладко.