Возникла необходимость закачать множество папок с файлами на Яндекс.Диск минуя браузер. Почему минуя браузер? Потому что, ввиду того что папок не мало, а файлов в них еще больше, закачка через браузер обычно приводила к немалой нагрузке центрального процессора.
Для начала нам понадобится упаковать каждую папку в архив.
Но если это делать вручную, то это займет уйму времени. Да и вообще кому интересна рутинная работа. Поэтому будем автоматизировать процесс )
Для упаковки можно использовать любой консольный архиватор.
В данной статье будем использовать архиватор 7zip. Установить для Mac OSX его можно через порты
Яндекс.Диск работает через расширение протокола HTTP - WebDAV (Web Distributed Authoring and Versioning). Поэтому нам нужно скачать и установить WebDAV клиент, работающий из командной строки. Будем использовать cadaver. Уставновить его так же можно через
И так, заходим в локальную директорию командой
Для начала нам понадобится упаковать каждую папку в архив.
Но если это делать вручную, то это займет уйму времени. Да и вообще кому интересна рутинная работа. Поэтому будем автоматизировать процесс )
Для упаковки можно использовать любой консольный архиватор.
В данной статье будем использовать архиватор 7zip. Установить для Mac OSX его можно через порты
port install p7zipили через brew
brew install p7zipИ так для создания архива со всеми вложенными поддиректориями и файлами в них нужно использовать команду
7z a -rНо нам нужно упаковать несколько папок, поэтому нам приходит на помощь команда while, которая обрабатывает что либо в цикле. Для этого мы передадим в цикл список папок, которые хотим заупаковать командой ls. В итоге получится такая команда:
ls | while read i; do 7z a -r "${i%.*}.7z" "$i"; doneВ ней мы передаем листинг директорий в цикл, который по очереди упаковывает эти директории в архивы.
Яндекс.Диск работает через расширение протокола HTTP - WebDAV (Web Distributed Authoring and Versioning). Поэтому нам нужно скачать и установить WebDAV клиент, работающий из командной строки. Будем использовать cadaver. Уставновить его так же можно через
port install cadaverили через
brew install cadaverДля подключения к Яндекс.Диск запускаем наш WebDAV клиент и указываем адрес сервера
cadaver https://webdav.yandex.ruЗатем сервер попросит ввесит логин и парель вашего аккаунта. После авторизации можно просмотреть список доступных команд, для этого нужно ввести команду ?.
ls cd pwd put get mget mput edit less mkcol cat delete rmcol copy move lock unlock discover steal showlocks version checkin checkout uncheckout history label propnames chexec propget propdel propset search set open close echo quit unset lcd lls lpwd logout help describe aboutДля закачки нескольких файлов понадобится команда mput.
И так, заходим в локальную директорию командой
lcd ~/your_dirи выполняем команду
mput ./* *где первый аргумент это все локальные файлы в текущей папке, а второй - файлы на сервере.
Комментариев нет:
Отправить комментарий