Привет всем! Сегодня мы познакомимся со скриптом который запускает демон 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