Yandex disk linux autostart

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Yandex.Disk ServiceMenu for KDE

kors2m/YandexDisk_SM

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Servicemenu, который позволяет получить быстрый доступ к сервису Яндекс.Диск

Возможности:

  • Скопировать публичную ссылку на файл/папку в буфер обмена
  • Сохранить файл в вашу папку Яндекс.Диск

Зависимости:

  • Консольный клиент для Linux — http://help.yandex.ru/disk/cli-clients.xml
    Для ArchLinux скачиваем с aur https://aur.archlinux.org/packages/yandex-disk/
  • libnotify
  • kdialog
  • xsel

A servicemenu which allows easy access to Yandex.Disk features.

Installation:

Dependencies:

  • Console client for Linux — http://help.yandex.com/disk/cli-clients.xml
    For arch linux download from aur — https://aur.archlinux.org/packages/yandex-disk/
  • libnotify
  • kdialog
  • xsel

Add autostart yandex-disk daemon to systemd

Create unit file /etc/systemd/system/yadisk@.service and edit:

[Unit] Description=Yandex.Disk Requires=network.target After=network.target [Service] Type=forking User=%i ExecStart=/usr/bin/yandex-disk start --auth=%h/.config/yandex-disk/passwd RestartSec=1min Restart=on-failure [Install] WantedBy=multi-user.target 

Enable a unit to be started on bootup: # systemctl enable yadisk@USERNAME.service

Источник

Записки IT специалиста

Установка консольного клиента Яндекс.Диск на Debian / Ubuntu

Яндекс.Диск — популярный отечественный облачный сервис для хранения и синхронизации пользовательских данных. Многие администраторы широко применяют его в своей повседневной деятельности для организации обмена файлами или хранения резервных копий. Чаще всего Яндекс.Диск используют на платформе Windows, для которой существует простое и удобное графическое приложение. Но далеко не все знают, что существует не менее удобный консольный клиент для ОС семейства Linux, о котором мы сегодня хотим вам рассказать.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Читайте также:  Balena etcher linux portable

Идея использовать Яндекс.Диск как дополнительное хранилище резервных копий является весьма интересной, потому как на клиентское приложение сервиса можно переложить достаточно большой пласт задач, связанный с размещением данных в облаке и контролем их целостности. Действительно, нам не нужно ни о чем заботиться, кроме как положить файлы в нужную папку локально, остальное клиент берет на себя.

Ценовая политика сервиса позволяет достаточно недорого получить пространство, достаточное для хранения данных небольших и средних организаций. Так годовую подписку на 100 ГБ можно сегодня приобрести за 990 руб, а на 1 ТБ за 2500 руб. Это недорого, собственная инфраструктура обойдется вам существенно дороже, 2500 руб — это цена одиночного жесткого диска на 1 ТБ, добавим к нему еще один диск (RAID 1), железо для NAS (или готовое устройство), канал связи, ИБП. Да и разместить это все надо надежно где-то за пределами офиса.

Перейдем от слов к делу. В нашем случае были использованы системы на Debian 9 и Ubuntu Server 16.04, но данная инструкция будет справедлива для любого основанного на них дистрибутива, в т.ч. настольного. Все описанные ниже действия следует выполнять с правами суперпользователя.

Прежде всего подключим репозиторий Яндекс.Диска:

echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" >> /etc/apt/sources.list.d/yandex-disk.list

Скачаем и установим в систему его GPG-ключ:

wget http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- | apt-key add

Теперь обновим список пакетов и установим клиент Яндекс.Диска

apt update
apt install yandex-disk

Для первоначальной настройки следует воспользоваться мастером установки:

Будет задано несколько простых вопросов, после чего клиент будет автоматически сконфигурирован и добавлен в автозапуск.

yandex-disk-debian-001.png

Обратите внимание, что по умолчанию директория диска создается в домашней папке пользователя, поэтому если вам нужно синхронизировать с облаком иные данные, то укажите путь к требуемой папке вручную.

Сразу после запуска службы начнется синхронизация. Текущий статус можно выяснить командой:

yandex-disk-debian-002.png

Все вроде бы хорошо, но только синхронизируется в обе стороны у нас все содержимое диска, что нужно далеко не всегда, как минимум, сразу следует исключить стандартные папки Яндекс.Диска, если вы их используете. Для этого следует создать список исключений. Откроем конфигурационный файл сервиса, который находится в домашней папке по пути ~/.config/yandex-disk/config.cfg и добавим туда строку:

exclude-dirs="Загрузки,Музыка,Скриншоты"

Путь к папкам исключениям следует указывать относительно корневой папки Яндекс.Диска, которая указана в опции:

Т.е. если у вас существует директория /backup/yandex/mydir1/mydir2, то в исключениях следует указать mydir1/mydir2. директории перечисляются через запятую, без пробелов. После внесения изменений сервис необходимо перезапустить:

yandex-disk stop
yandex-disk start

Больше параметров можно узнать в официальной документации: https://yandex.ru/support/disk/cli-clients.html

Если речь идет о настольной системе, то этого достаточно, Яндекс.Диск будет запускаться при входе в систему текущего пользователя и в фоне заниматься своим делом. Но для консольных серверов он не подходит, так как вошедших в систему пользователей там может и не быть. Для полноценной работы в этой среде нам нужно настроить работу Яндекс.Диска как системной службы.

Читайте также:  Linux add user ssh key

Для начала остановим приложение:

Затем перенесем каталог настроек в директорию /etc, хранить настройки системной службы в директории пользователя — не самая лучшая идея:

После чего откроем /etc/yandex-disk/config.cfg и исправим путь к файлу токена:

Теперь создадим юнит для systemd, прежде всего сам файл:

touch /etc/systemd/system/yandex-disk.service

И внесем в него следующий текст:

[Unit]
Description=Yandex.Disk
Requires=network.target
After=network.target

[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/bin/yandex-disk start -c /etc/yandex-disk/config.cfg
RestartSec=1min
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl --system daemon-reload
systemctl start yandex-disk.service

Проконтролировать ее работу можно командой:

systemctl status yandex-disk.service

yandex-disk-debian-003.png

Если все работает нормально, добавим службу в автозагрузку:

systemctl enable yandex-disk.service

И удалим скрипт автозагрузки приложения при входе в систему:

rm ~/.config/autostart/Yandex.Disk.desktop

Как видим, установить консольный клиент Яндекс.Диск совсем несложно, при этом по удобству использования он мало отличается от своего настольного собрата, позволяя полноценно использовать сервис даже в среде Linux-серверов.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

Консольный Yandex.Disk — как сделать автозапуск демона Yandex.Disk на Debian?

Есть сервер на Debian. Есть заинсталленый там и хорошо работающий консольный яндекс диск. Однако есть одно «НО» — демон не стартует после ребута системы, хотя при установке диска, эта фича задавалась. В ручную же обыкновенной командой yandex-disk start все работает без каких либо проблем.

Написал простейший скрипт запуска демона, назвал его yandex_autorun.sh

Далее chmod +x на него. И проверил ручками (sh yandex_autorun.sh) — ручками скрипт запускает яндекс без проблем.

Обращаю внимание, что команда / скрипт запускается только из под юзера (adept). Под рутом выдает какую-т о хрень.

1. Закинуть скрипт sh в папку /etc/network/if-up.d/ , не помогло

2. Прописать путь до скрипта в /etc/network/interfaces не помогло

3. Засунул в кронтаб такую штуку, как советовал в схожем вопросе Илья Мальцев:

@reboot adept sleep 60 && /home/adept/yandex_autorun.sh

Тоже ничего не запустилось.

4. Пробовал писать в rc.local до exit 0. Тоже толку мало.

В init.d наваять скрипт мне не удалось.
Буду рад советам. По сути то 1 команду запустить и все.

adept7771

Таки удалось решить потерей малой крови. Благодарю @bk0011m за помощь в поиске ответа!

Ставим яндекс диск консольный и делаем скрипт автозапуска.
Итак — содержание скрипта yandex_autostart.sh тривиально:

#!/bin/sh yandex-disk start --dir=/home/adept/srv_storage/YandexDisc --auth=/home/adept/.config/yandex-disk/passwd

start —dir путь, куда диск качает файлы
—auth путь, где лежит сгенеренный после инсталла токен с вашими паролями / логинами

Читайте также:  Latest version arch linux

Далее топаем в крон crontab -e (без sudo!)

@reboot sleep 60 && /home/adept/yandex_autorun.sh # тут путь до вашего скриптика

Не забываем так же chmod +x путь_до_скрипта (делаем его исполняемым)

После перезагрузки крон выждет 60 секунд и пнет ваш скрипт, запустив диск.
Мишшн комплит!

Ошибки крона сваливаются во внутреннюю почту сервера, которую у меня на Debian можно легко посмотреть командой mail, номер обращения.

Хм, не понимаю, зачем так усложнять себе жизнь cron-ом, если init.d скрипт пишется за 5-20 минут в зависимости от навыков: либо копипастой одного из имеющихся скриптов, либо по гайдам раз и два.
К примеру, мой /etc/init.d/yadisk

#!/bin/sh -e ### BEGIN INIT INFO # Provides: yandex_disk # Required-Start: $local_fs # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Manage Yandex.Disk deamon ### END INIT INFO # Various constants user=yadisk execute() < su -c "$1" "$user" >start() < echo "Starting Yandex.Disk daemon. " execute "yandex-disk start" >stop() < echo "Stopping Yandex.Disk daemon. " execute "yandex-disk stop" >status() < execute "yandex-disk status" ># Carry out specific functions when asked to by the system case "$1" in start) start ;; stop) stop ;; status) status ;; restart) stop start ;; *) echo "Usage: $0 " exit 1 ;; esac exit 0

Отличный скрипт, то что надо. Если вы используете Яндекс диск для своего пользователя, вместо пользователя yadisk укажите своё имя пользователя и не забудьте проверить права в ~/.config/yandex-disk/ . Права должны совпадать с именем вашего пользователя

Создал скрипт, запустил «`sudo update-rc.d yadisk defaults«` и получил ряд предупреждений, что нужно исправить в скрипте?

«`sudo update-rc.d yadisk defaults
update-rc.d: warning: /etc/init.d/yadisk missing LSB keyword ‘required-start’

update-rc.d: warning: /etc/init.d/yadisk missing LSB keyword ‘required-stop’

update-rc.d: warning: /etc/init.d/yadisk missing LSB keyword ‘default-start’

update-rc.d: warning: /etc/init.d/yadisk missing LSB keyword ‘default-stop’«`

Андрей: разобрался, действительно всё есть в начале скрипта! Когда я копировал скрипт и вставлял в консольный редактор nano на сервере, первые строчки начинающиеся с # у меня все склеились в одну длинную строку, я не придал этому значения, думал это просто комментарии для красоты.

bk0011m

А если не запускать под рутом? Или это принципиально нужно?
Дело в том, что эта софтина при синхронизации начинает безбожно жрать ресурсы и совсем не хорошо если это происходит под рутом.
А насчет вашей проблемы, подозреваю что нужно указать файл авторизации, он же токен. Вернее путь к нему

adept7771

ресурсы терпят. Я слегка перефразировал вопрос. Запускать как раз таки и нужно под юзером Adept. А оно не запускается. От чего у меня начинает припекать уже.

bk0011m

@adept7771 Ну смотрите, если вы запускаете под рутом, то нужно указывать рабочий каталог и файл авторизации. Если вы запускаете из под рута, но с правами юзера, то я думаю все ранво нужно указать и то и другое.

Источник

Оцените статью
Adblock
detector