Запуск яндекс диска через systemd

Шаг 1. Ставим консольный клиент по инструкции

echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/yandex-disk.list > /dev/null && wget http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- | sudo apt-key add - && sudo apt-get update && sudo apt-get install -y yandex-disk

Шаг 2. Получаем токены

yandex-disk token --password=my_password my_username /home/sergey/yandexdisk/token-my_username

рекомендую очистить текущую сессию bash от истории, так как юзернэйм и пароль там запечатлелись

history -r

Шаг 3. Лепим конфиги. Их может быть сколько угодно. Файлы называем config-my_username1.cfg и т.д.

# Путь к файлу с данными авторизации
auth="/home/sergey/yandexdisk/token-my_username"

# Каталог для хранения локальной копии Диска.
dir="/home/sergey/yadisk-my_username"

# Не синхронизировать указанные каталоги.
#exclude-dirs="exclude/dir1,exclude/dir2,path/to/another/exclude/dir"

# Указать прокси-сервер. Примеры:
#proxy=https,127.0.0.1,80
#proxy=https,127.0.0.1,80,login,password
#proxy=https,127.0.0.1,443
#proxy=socks4,my.proxy.local,1080,login,password
#proxy=socks5,my.another.proxy.local,1081
#proxy=auto
#proxy=no

Шаг 3. Лепим скрипт для запуска yandexdiskstart.sh.

#!/bin/sh
yandex-disk start -c /home/sergey/yandexdisk/config-my_username1.cfg
yandex-disk start -c /home/sergey/yandexdisk/config-my_username2.cfg
yandex-disk start -c /home/sergey/yandexdisk/config-my_username3.cfg

Шаг 4. Лепим аналогично скрипт для остановки yandexdistop.sh.

yandex-disk stop -c /home/sergey/yandexdisk/config-my_username1.cfg

Шаг. 5. Лепим юнит для systemd

файл называем yadisk.service и бросаем его в /etc/systemd/system

[Unit]
Description=Script yandexdisk

[Service]
Type=forking
RemainAfterExit=true
ExecStart=/bin/bash '/home/sergey/yandexdisk/yandexdiskstart.sh'
ExecStop=/bin/bash '/home/sergey/yandexdisk/yandexdiskstop.sh'
RestartSec=60
Restart=always
User=sergey
Group=sergey

[Install]
WantedBy=multi-user.target

Шаг. 6. Вкючаем в автозагрузку, передергиваем systemd, стартуем скрипт.

sudo systemctl enable yadisk
sudo systemctl daemon-reload
sudo systemctl start yadisk

Шаг. 7. Если не работает и получился АПОЖ смотрим статус

sudo systemctl status yadisk

и курим логи

sudo journalctl -xe

2 Comments

  1. dober:

    Можно команду начинать с пробела, чтоб она в историю не попала.
    Некоторые параноики ещё засовывают клиента в докер или чрут, чтоб он кроме своей папочки никуда не шастал…