Дошли тут руки до подаренных 100Гб на Яндекс.Диске. Не пропадать же добру...
Стал разбираться, как же ими можно воспользоваться.
Для начала сразу оговариваю, что клиенты с GUI мне совсем не нужны, речь шла о том, чтобы периодически скидывать не очень нужные и зашифрованные файлики "про запас" с сервера, где никаких десктопов нет, поэтому штатные десктопные утилитки я не буду рассматривать вообще.
Итак, самый простой и хорошо описанный способ - консольная утилита . Работает куда шустрее webdav, который используется во всех остальных случаях, но все время просится в демоны и в целом как-то не очень уютно было ее использовать... Еще, не дай, удалится что-то на диске, а эта штука обратно засинхронизирует все... Кроме того, синхронизируется строго одна директория. Т.е. нельзя несколько накидать в разные потоки и ждать, пока на Диск засинхронизируется.
Второй способ именно для закидывания нескольких файликов. Вещь.
с ним, мне кажется, все вообще очевидно... Вводим свои имя-пароль и кидаем файлики сколько душе угодно. Работает и укладывание в поддиректории. Как удалять - не разбирался.
Третий, наиболее подходящий для массовой синхронизации, но, малость нестабильный и дико тормозной по непонятной для меня причине способ. Да, это про webdav в виде файловой системы. Для начала надо будет поставить davfs2 вашим пакетным менеджером. Затем, в файлике /etc/davfs/secrets прописать строку
Код:
https://webdav.yandex.ru ваш_логин ваш_пароль
это избавит от соответствующих вопросов при монтировании. И, соответственно, монтируем, например, так...
Код:
mount -t davfs https://webdav.yandex.ru /mnt/yandex
Вот и все... Теперь в /mnt/yandex у вас содержимое Яндекс.Диска в rw. Можно туда и обратно что-то скопировать, либо воспользоваться rsync. Обратите внимание, что owner/groups лучше на диске не трогать, поэтому пользоваться чем-то вроде
Код:
rsync -rtv
из неприятного - сервак webdav у Яндекса тормозит, поэтому, какой бы у вас канал ни был, больше 2Мб/сек в среднем не взлетает. При этом еще долгие sync и неочевидные ошибки при проблемах соединения.
В целом же - вполне себе подходящая штука для каких-то дублей бекапов.
И у монтирования davfs выяснился серьезный минус. Эта хреновина наращивает /var/cache/davfs2 и плевать хотела на директиву cache_size в конфиге. У меня выжрала все свободное место на системном диске, после чего rsync упал. Ну и ни хрена себе :(
Нашел еще один способ синхронизации - программа cadaver.
К моей печали, она не может рекурсивно заливать файлы, потому для меня малополезна. Но желающие поупираться именно в этот способ, могут внимательно присмотреться к такому скрипту.
Код:
#!/bin/sh
usage () { echo "$0 <src> <cadaver-args>*" >/dev/stderr; }
error () { echo "$1" >/dev/stderr; usage; exit 1; }
test $# '<' 3 || \
error "Source and cadaver arguments expected!";
src="$1"; shift;
test -r "$src" || \
error "Source argument should be a readable file or directory!";
cd "$(dirname "$src")";
src="$(basename "$src")";
root="$(pwd)";
rc="$(mktemp)";
{
find "$src" '(' -type d -a -readable ')' \
-printf 'mkcol "%p"\n';
find "$src" '(' -type f -a -readable ')' \
-printf 'cd "%h"\nlcd "%h"\n' \
-printf 'mput "%f"\n' \
-printf 'cd -\nlcd "'"$root"'"\n';
echo "quit";
} > "$rc";
cadaver -r "$rc" "$@";
rm -f "$rc";
для него надо будет прописать имя пользователя и пароль в ~/.netrc, чтобы на каждый файл его не вводить.
Нашел еще один вариант. Вроде и работает :)
Утилитка rclone. Поддерживает Yandex.Disk из коробки.
Сначала надо сделать
Код:
rclone config
идентификаторы и секрет заполнять не надо - вылезет браузер с авторизацией, создайте репозиторий reponame (обзовите его как хотите, я для примера)
Потом
Добрый день, что за ерунда с блокировкой rclone? Я купил себе терабайт ЯДиска для домашних бекапов и благополучно пользовался не первый год. Еще и рекламировал другим ЯДиск. Взяли и без уведомления отключили... Я не буду ставить приложение Яндекса, оно кривое и мне не нравится. Давайте хотя бы для оплаченных rclone разблокируете? В противном случае сервис для меня становится бессмысленным, я не буду перетаскивать файлы в браузер и придется искать альтернативу.
Цитата:
Программа Rclone позволяет использовать Яндекс.Диск в качестве инфраструктурного компонента, а Яндекс.Диск - это персональный сервис, который не рассчитан на решение таких задач. Поэтому мы не поддерживаем работу связки Rclone - Яндекс.Диск.
Я попереписывался с саппортом и в итоге забрал деньги за Диск Про. Поддерживать rclone они не планируют.
Кто еще соберется уходить - имейте ввиду, что лучше сначала почистить все лишнее, они потом веб-доступ тупо блокируют. А с телефона удалять большое количество файлов еще то удовольствие. Да, скачать файлы тоже можно, но только на телефон, поскольку в веб доступа нет... И скорость в официальном приложении на телефоне подрезана... Мда, впечатлен я количеством рекламы в мобильном приложении, если Диск Про не куплен...