Подключаем Яндекс диск (Webdav)
Яндекс Диск WebDav – это протокол, позволяющий работать без установки специальной программы. Идеальное решение для тех, кто хочет управлять файлами, не сохраняя копию на компьютер.
Выражаю благодарность @CEBEPYC! и @Clear_Highway за инструкцию и сам замечательный пакет davfs2
Важно! Создание полного Backup на Webdav занимает довольно продолжительное время и сопровождается тормозами на самом шлюзе. Если использовать выборочный бэкап, то время создания бэкапа будет быстрее.
Установка WebDav
- Ставим пакет davfs2 через LuCI. System => Software
- Заходим в Яндекс Паспорт с тем логином, к диску которого хотим подключить шлюз
“Пароли и авторизация” > “Пароли приложений” > “Создать новый пароль” > “Создать пароль приложения” > “Файлы WebDAW”. Пишем толковое и понятное название нового пароля.
Важно! Один пароль для одного соединения. Обозвали, “Создать”. Вводите пароль от почтового ящика и обязательно копируете выданный пароль куда-то. Он будет работать, но вы его больше не увидите.
3) Теперь копируете следующие команды и меняете в них login
на логин диска и password
на выданный выше пароль приложения.
Создаем папку yandex_webdav
mkdir -p /mnt/yandex_webdav
Создаем файлик secrets, где будут храниться логин и пароль. Впишите вместо
login
иpassword
свой логин от яндекс и пароль, который мы получили для приложения
cat << "EOF" > /etc/davfs2/secrets
https://webdav.yandex.ru login password
EOF
Присвоим права для файлика secrets
chmod 600 /etc/davfs2/secrets
Примонтируем диск yandex_webdav
mount.davfs https://webdav.yandex.ru /mnt/yandex_webdav
Проверяем подключение. Если все сделано верно, то мы увидим подключенный диск yandex_webdav
df -h
Резервное копирование
Вы можете делать полную копию шлюза или частичное. На ваше усмотрение
Полный бэкап шлюза
Создадим папку backup_gw
mkdir -p /mnt/yandex_webdav/backup_gw
Запуск бэкапа
tar cvz -f /mnt/yandex_webdav/backup_gw/backup_gw-$(date +%d-%m-20%y_%H-%M).tar.gz -C /overlay/upper/ /overlay/upper/
При желании можно добавить создание бэкапа в планировщик задач (Cron). System => Scheduled Tasks. Для удобства можете воспользоваться CRON генератором
На примере запуск бэкапа в 03:00 часа, ежедневно
0 3 * * * tar cvz -f /mnt/yandex_webdav/backup_gw/backup_gw-$(date +%d-%m-20%y_%H-%M).tar.gz -C /overlay/upper/ /overlay/upper/
Выборочный бэкап
Данный вариант можно использовать для запуска бэкапа с Home Assistant. Читаем инструкцию мониторинг папок для бэкапа и не только
Создадим папку для скриптов scripts
mkdir /scripts
Создадим файл backup_gateway.sh
touch /scripts/backup_gateway.sh
Откроем файл и вставим код
nano /scripts/backup_gateway.sh
Вставляем код
- В строке backup вы указываете нужный путь, где будет храниться бэкап
- В строке bkpfolder указываем какие папки нужно бэкапить
- В строке bkpfile указываем какие файлы нужно бэкапить
#!/bin/bash
backup="/mnt/yandex_webdav/Gateway/backup_gw-$(date +%Y-%m-%d_%H:%M).tar"
bkpfolder="
/etc/homeassistant
/etc/zigbee2mqtt
/etc/mosquitto
/root/.ssh
/mpd
"
bkpfile="
/etc/mpd.conf
#/etc/lumimqtt.json
/etc/mpd.state
"
echo "Starting a backup"
tar -cvf $backup $OF $bkpfolder $of $bkpfile&&
echo "The backup was completed successfully"
Присвоим права на запуск скрипта
chmod +x /scripts/backup_gateway.sh
Запуск скрипта
sh /scripts/backup_gateway.sh
Авто монтирование диска
- Создадим файл
webdav_yadisk
который будет в службах
Важно! Диск указывайте тот, который вы монтируете, в моем случае, это /mnt/yandex_webdav
cat << "EOF" > /etc/init.d/webdav_yadisk
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=99
STOP=65
start_service(){
mount.davfs https://webdav.yandex.ru /mnt/yandex_webdav
}
start() {
mount.davfs https://webdav.yandex.ru /mnt/yandex_webdav
}
stop() {
umount /mnt/yandex_webdav
}
EOF
- Назначим права для управления службой
webdav_yadisk
chmod +x /etc/init.d/webdav_yadisk
- Активируем службу
webdav_yadisk
/etc/init.d/webdav_yadisk enable
- Запустим службу
webdav_yadisk
/etc/init.d/webdav_yadisk start
- Проверяем, примонтировался ли диск
yandex_webdav
.
Важно! Диск указывайте тот, который вы монтируете, в моем случае, это /mnt/yandex_webdav. Если у вас диск имеет другое название, например ya_disk, то указываем /mnt/ya_disk
df -h /mnt/yandex_webdav
Если успех, то увидите примонтированный диск yandex_webdav
Справочная информация
Как сменить пароль для WebDav?
Открываем файлик
secrets
, расположенный по адресу /etc/davfs2/secrets и редактируем пароль