29.11.2021

CLI оболочка для консольного клиента Yandex Disk.

Привет всем! Сегодня мы познакомимся со скриптом который запускает демон Yandex disk , и переодически следит за его статусом , который в случае обнаружения изменений тут же начинает синхронизацию локального каталога. Причины необходимости написания этой программы просты, в отличии от известных GUI программ для Yandex disk (можете найти их по адресу  https://yandex.ru/support/disk-desktop-linux/cli-gui.html ) мой скрипт является CLI инструментом , что предопределяет большую информативность, а также не висит в трее отъедая рессурсы , по окончании работы которого он останавливает демон Yandex disk , то есть скрипт по своей сути обьединяет несколько команд для консольного клиента Yandex disk и имено с ним и работает, для перезапуска вывода статуса клиента Yandex disk, будем использовать замечательную утилиту watch , о которой поисковик выдал следующее :

watch — unix – утилита, которая запускает определённую программу через фиксированный интервал времени, задаваемый опцией -n в секундах.

Но перед тем как перейти к использованию скрипта мы должны скачать и настроить консольную утилиту Yandex disk, которую скачать можем отсюда https://yandex.ru/support/disk-desktop-linux/start.html#install , и установить его любым удобным нам образом , как настроить клиент можно найти тут https://yandex.ru/support/disk-desktop-linux/start.html#cli-setup , но я всё таки остановлюсь на этом моменте, и опишу как я это сделал , подробнее , итак :

1. Вводим в терминал от имени пользователя команду :

yandex-disk setup

на вопрос терминала

Использовать прокси-сервер? [y/N]:

я ответил:

n

так как не собираюсь использовать прокси сервер

после нажатия ввода теминал предложил мне ввести логин , и пароль

Введите логин:

Введите пароль:

После того как вы введете логин и пароль, терминал отчитается о том что ваш личный токен

сохранен в соответствующий каталог , и ввести имя каталога для создания Yandex disk , либо если вы желаете оставить имя Yandex.Disk которое назначено по умолчанию , ничего не вводите в терминал просто нажмите ввод , после чего терминал вас спросит:

Запускать Яндекс.Диск при входе в систему? [Y/n]:

вы должны ответить

n

так как скрипт и был задуман для того чтоб запускать и останавливать демон синхронизации по требованию, а не для того чтоб он постоянно висел в процессах и бессмысленно потреблял ресурс. Теперь я предлагаю перейти к самому скрипту, для этого скачайте его отсюда https://disk.yandex.ru/d/3bx0V1gDDcdERg , поместите его в любой удобный вам каталог, например в домашний, и присвойте ему права на исполнение командой :

chmod +x ~/ya-disk.sh

, но прежде чем запустить скрипт нам необходимо установить утилиту pv , так как я для красоты задействовал в выводе эфект бегущей строки, если вы желаете чтоб скрипт выводил простые сообщения без спецэффектов то вам придется удалить из скрипта всё что относится к pv…

Устанавливаем pv командой

sudo apt install pv

теперь всё готово что бы запустить скрипт, запускаем его двойным кликом, или прописываем его путь в терминале, либо если ваш терминал поддерживает перетаскивание можем перетащить его из каталога в терминал, в общем как вам будет удобно , далее скрипт проведет по нужным этапам с помощью интерактивного диалога . Благодаря утилите watch мы вызываем статус Yandex.Disk на наличие изменений , и как только вы скопируете что нибудь в каталог Yandex.Disk , демон «проснется» и начнет синхронизировать ваш локальный каталог с облаком. На сегодня всё, до новых встреч, и спасибо за внимание!

автор Vlad-totiks
Журнал Cyber-X

Источник.