Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ezhov-da/ee7c18c74f3b44d790f1b2206ee5484b to your computer and use it in GitHub Desktop.
Save ezhov-da/ee7c18c74f3b44d790f1b2206ee5484b to your computer and use it in GitHub Desktop.
Монтирование Яндекс.Диск по WebDAV в локальную файловую систему
==> https://blog.sitedd.ru/archives/109
Linux. Монтирование Яндекс.Диск по WebDAV в локальную файловую систему
Ubuntu 16.04
davfs2
Установка davfs2
apt install davfs2
Создание точки монтирования:
mkdir /root/yandex.disk
Разовое монтирование через ввод логина и пароля:
mount -t davfs https://webdav.yandex.ru /root/yandex.disk/
Проверка монтирования
# df -h /root/yandex.disk/
Filesystem Size Used Avail Use% Mounted on
https://webdav.yandex.ru 10G 50M 10G 1% /root/yandex.disk
Настройка автоматического монтирования
Сообщим утилите davfs2 свой логин и пароль от webdav удалённого диска.
В файл /etc/davfs2/secrets или ~/.davfs2/secrets (не заработало!) добавляем строку:
/root/yandex.disk yandex_username yandex_password
Добавляем в /etc/fstab строку монтирования:
https://webdav.yandex.ru /root/yandex.disk davfs user,rw,noauto 0 0
rc-local
К сожалению, после перезагрузки диск не примонтировался. Создаём скрипт монтирования и добавляем его в автозапуск.
touch /etc/rc.local
chmod +x /etc/rc.local
Содержимое файла /etc/rc.local
#!/bin/sh -e
#Здесь вставляем строку с указанием вашего скрипта.
/root/dav-mount.sh
exit 0
Скрипт монтирования
Создаём скрипт /root/dav-mount.sh
touch /root/dav-mount.sh
chmod +x /root/dav-mount.sh
Содержимое файла /root/dav-mount.sh
#!/bin/bash
sleep 30 && mount https://webdav.yandex.ru
Включаем и запускаем rc-local
systemctl enable rc-local
systemctl start rc-local.service
Проверяем статус rc-local
#
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (exited) since Sun 2017-06-04 12:28:21 MSK; 4min 4s ago
Process: 1315 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
Jun 04 12:28:21 sitedd.ru systemd[1]: Starting /etc/rc.local Compatibility...
Jun 04 12:28:21 sitedd.ru systemd[1]: Started /etc/rc.local Compatibility.
Jun 04 12:32:22 sitedd.ru systemd[1]: Started /etc/rc.local Compatibility.
после перезагрузки linux: Active: active (running)
@alexey-v-paramonov
Copy link

Чтобы работало после перезагрузки нужно
https://webdav.yandex.ru /root/yandex.disk davfs user,rw,noauto 0 0

поменять на

https://webdav.yandex.ru /root/yandex.disk davfs user,rw,_netdev 0 0

_netdev означает монтировать только когда сеть доступна.

@dmlogv
Copy link

dmlogv commented Apr 25, 2025

Спасибо за инструкцию.

Маунтпойнту полезно сделать chattr +i, чтобы не начать наваливать файлы в несмонтированный каталог.

Ну и для бэкапов rclone работает заметно лучше dav2fs, но это уже совсем другая история.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment