Содержание

Создание резервной копии на Яндекс диске

DAVFS

  1. Создать пароль приложения в Яндекс.
    1. Перейти по https://id.yandex.ru/
    2. Меню "Безопасность и Доступ к вашим данным → Пароли приложений"
  2. Установить davfs2:
    sudo apt install davfs2 -y
  3. Создать директорию для монтирования:
    sudo mkdir /mnt/yandex/
  4. Смонтировать диск:
    sudo mount -t davfs https://webdav.yandex.ru /mnt/yandex/
  5. Ввести логин Yandex и пароль приложения, созданный ранее.
  6. Проверить монтирование:
    ls /mnt/yandex/
    df -h
  7. Настроить автомонтирование при загрузке системы:
    1. Добавить учётные данные в /etc/davfs2/secrets:
      sudo vim /etc/davfs2/secrets

      Перейти в конец файла и добавить строку:

      /mnt/yandex/ <user> <password>

      Установить права:

      chmod 600 /etc/davfs2/secrets
    2. Добавить монтирование в /etc/rc.local:
      sudo vim /etc/rc.local
      mount -t davfs https://webdav.yandex.ru /mnt/yandex/

      Или добавить в /etc/fstab:

      sudo vim /etc/fstab
      https://webdav.yandex.ru /mnt/yandex/ davfs defaults,uid=YOUR-USER,gid=YOUR-USER,_netdev,auto 0 0
  8. Если скрипт не выполнился при загрузке:
    chmod +x /etc/rc.d/rc.local
    systemctl enable rc-local
  9. Очистка кеша davfs2:
    find /var/cache/davfs2/ -mindepth 1 -a -print0 | xargs -n 100 -0 sudo rm -rf
Команда Описание
sudo vim /etc/fstab Редактирование fstab
df -h Посмотреть смонтированные диски
sudo mount -t davfs https://webdav.yandex.ru/myfolder /mnt/yandex/ Монтировать диск
sudo umount /mnt/yandex/ Размонтировать диск

Тесты

curl -v -u "user:appass" https://webdav.yandex.ru/ 2>&1 | head -30
curl -v -u "user:appass" \
  -X PROPFIND \
  -H "Depth: 0" \
  https://webdav.yandex.ru/ 2>&1 | tail -30

Принудительно размонтировать

sudo umount -l /mnt/yandex
sudo pkill -f mount.davfs
sudo rm -f /var/run/mount.davfs/*.pid
sleep 2

Перемонтировать

sudo mount -t davfs https://webdav.yandex.ru /mnt/yandex/
ls /mnt/yandex
sudo umount -l /mnt/yandex
sudo mount -t davfs -o username=YOUR_USER https://webdav.yandex.ru /mnt/yandex/ \
  -o uid=0,gid=0

Ошибки

Добавить в /etc/davfs2/davfs2.conf:

use_locks 0

Яндекс WebDAV плохо поддерживает DAV locks — davfs2 зависает ожидая ответа на LOCK запрос.