Yandex.Disk и Linux. Загрузка фотоархива в облако.

В этом видео:
– обзор популярных облачных хранилищ (icloud, google drive, one drive, yandex.disk, dropbox);
– установка и настройка консольного Linux клиента Yandex.disk;
– загрузка 128ГБ в облако через VPS.

===================
Disclaimer.
Ваши фото это уникальная вещь, по-этому не забудьте сделать бекап перед всеми манипуляциями, например, на внешнем диске.
===================

Сегодня о том как можно произвести экспорт ваших данных в облачное хранилище! А именно на Yandex.Disk.
Я расскажу из чего я выбирал и что сравнивал. А вам рекомендую задуматься о том чтобы попробовать какое-либо облачное хранилище, если вы ещё этого не делали. Это действительно удобно и если вы как и я пользовались, например, Dropbox года четыре назад, то сейчас всё стало существенно быстрее синхронизироваться, цены стали доступнее за пользованием объёмов сопостовимых с диском на вашем домашнем компьютере(100ГБ, 1ТБ). Предоставляемые объёмы подходят для хранения больших данных – личных фотоархивов, возможно каких-то обезличенных логов, дампы тестов и тп. Конечно не фильмов с торрентов.

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

Скажу сразу – я выбрал Yandex.disk из-за совокупности параметров. (Есть ещё конечно icloud photo от Apple, GoogleDrive, DropBox, OneDrive):
– У них есть удобные программы для IOS и удобный веб.интерфейс – это есть у всех и это тот самый прияный бонус от использования облачного хранилища;
– Клиенты для работы есть под Windows, Mac, Linux. Что не скажешь, например, о Apple… Конечно можно пользоваться веб.версиями, но это не всегда удобно – например, при массовой загрузке файлов, есть ограничения по объёму загружаемых файлов через веб.интерфейс;
– Можно загружать любые файлы – во всяком случае у меня проблем с выгрузкой данных не было. Файлы всех имеющихся у меня форматов загрузились без проблем. Например, у Apple такого делать не получится, во всяком случае со стандартным фотоклиентов Photo. У меня Mac и iPad по этому я об этом упоминаю.

FAQ:Да, любую папку можно скопировать в папку Яндекс.Диска на вашем компьютере, и она автоматически загрузится на сервер со всем содержимым.(https://yandex.ru/support/disk/faq.xml)

– Цена! 200р за 1Терабайт! в месяц при покупке помесячно и 2000р за год(~167р в месяц). Очень доступно. Если вы купите внешний диск на 1Терабайт для бекапов, то он вам будет стоит примерно 4-5 тысяч, что соответствует 2,5 годам работы с YandexDisk. Он всегда работает, и вас не волнует что он сломается или не сломается. Я думаю что года через 2, за теже деньги можно будет арендовать 2-3 ТБ в облаке.
Цены у Dropbox и GooleDrive = 10долларов за 1ТБ. Я говорю про Терабайт, потому что у меня фоток 128 ГБ. Обычно предыдущий тариф это 100ГБ и он мне не подходит. У iCloud 1ТБ стоит 600р, но есть тариф на 200ГБ на 149р и он мне подошёл бы, но я не хочу замыкаться только на Apple. Onedrive за 1ТБ просит 229руб, что близко к Yandex.Disk, но у них нет Linux клиента.

Вот линки с ценами:
iCloud
Goodle drive
Dropbox
OneDrive
По совокупности цена-предоставляемые возможности выигрывает у меня Yandex.Disk. На сколько он стабилен покажет время.

Теперь непосредственно к установке Yandex.Disk на Linux машине.
Консольный клиент для Linux — ссылка на мануал.
Всё описано в инструкции от самого Яндекса, я просто хочу дать несколько комментариев.
Я пользуюсь Ubuntu и хочу пользовать стандартый менеджер пакетов apt-get. По этому я выбрал пукт “Установка с помощью apt-get”.
Тут из под рута мы добавляем в список известных репозиториев – репозиторий Яндекса:
# sudo su
# echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" >> /etc/apt/sources.list.d/yandex.list

Список стандартных репозиторириев хранится в:
alex@srv-ubuntu-01:~$ cat /etc/apt/sources.list
Далее обновляем список доспных репозиториев:
# apt-get update
И устанавливаем новый софт, станданртной командой:
# apt-get install yandex-disk
Чтобы система не ругалась “Для проверки цифровой подписи пакета может понадобиться импортировать в систему открытый GPG-ключ. “:
# wget -O YANDEX-DISK-KEY.GPG http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG
# sudo apt-key add YANDEX-DISK-KEY.GPG

Всё! Пакет установился, переходим к настройке:
# yandex-disk setup
Вводим логин-пароль от Яндекса.
Я добавил доп. настройку в файл конфигурации(exclude-dirs):
alex@srv-ubuntu-01:~$ cat .config/yandex-disk/config.cfg
auth="/home/alex/.config/yandex-disk/passwd"
dir="/home/alex/Yandex.Disk"
exclude-dirs="My_Photo_Archive,Documents,Music,My_video_pn,Shared_photo_pn"
proxy="no"

На домашнем компьютере я этого не делаю. Я добавляю эту настройку только на cвоём виртуальном сервере, и вот почему.
Как я уже говорил – мой личный фото архив весит 128ГБ. Дома у меня очень низкая скорость upload для того объёма информации и я не готов держать свой домашний компьютер работающим неделю или тп. Плюс может что-то пойти не так и придётся что-то перезаливать, ну и я сам буду пользоваться дома Интернетом и скорость будет падать.
В общем для такой разовой акции я выбрал свой VPS сервер и Интернет на работе. Он всё равно работает круглые сутки и скорость интернета на работе намного выше. С рабочего компьютера я заливаю данные на мой сервер(используя SCP), а с него уже в облако.
Почему сервер на Linux? Почему не простое Windows приложение и не синхронизировать напрямую?
Два момента.
Во-первых, я хотел протестировать версию ПО под Linux и возможности дальнейшего его использования на моих виртуалках для всяких логов и тп.
Во-вторых, политика безопасности не позволяется устанавливать некоторые приложения на рабочем компьютере – синхронизировать любые данные напрямую с файловой системы рабочего компьютера небезопасно. А сервер всегда работает и за него заплачено и его можно в любой момент выключить и даже удалить. Единственный момент объём данных. Виртуалка у меня на 20ГБ, а нужно перекачать 128ГБ. Пришлось делать синхронизацию в несколько подходов, но я никуда не спешил.
Мой путь может показаться достаточно кривым, но я очень не люблю оставлять включённый компьютер дома без присмотра. Ну и зачем его лишний раз напрягать, если можно просто использовать и так работающий рабочий комп и VPS сервер.
Сразу скажу, что если у вас тоже низкая скорость upload дома и на работе нет проблем с установкой ПО, то проще всё сделать через виртуалку на рабочем компьютере или установкой приложения прямо на компьютер.

Итак мои действия:
– Я скопировал данные с моего компьютера на внешний диск.
– Загрузить 15ГБ данных в облако;
– Переместить эти 15ГБ в облачном диске из синхронизируемой директории в несинхронизируемую – это через веб.интерфейс. При этом данные с диска на виртуалке удаляться, а в облаке останутся;
– Повторить операцию несколько раз.

Суть в том, что используя приложение для Windows или Mac или консольную утилиту для Linux можно настроить какие папки нужно синхронизировать. По этому не смотря на то что у меня на сервере может быть всего 15ГБ свободного места, я могу подключать к нему 1ТБ диск. Директории синхронизируются не все. Я хочу это использовать в будущем для бекапа. Когда у меня дойдут руки до этого я вам об этом расскажу.

Я использовал следующие команды и настройки из инструкции к Яндекс.Диску:
--exclude-dirs=DIR1,DIR2,... – чтобы исключить из синхронизации с виртуалкой директорию со всем фотоархивом.
Команды:
yandex-disk stop, start, sync – для управления диском. Команда sync не всегда работает корректно, приходилось просто перезапускать приложение.

Теперь у меня весь фотоархив лежит в облаке и новые файлы я подгружаю с домашнего компьютера.

Надеюсь данное видео будет вам полезно и вы узнали что-то новое.
Яндекс бесплатно даёт 10ГБ диска, что достаточно для хранения логов или небольших бекапов для вашим проектов.

На этом всё.
Удачи!