Резервное копирование сервера Debian/Ubuntu на Яндекс Диск

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

yandex disk

Данный материал проверялся на сервере Идеальный сервер - Ubuntu 12.04 LTS [ISPConfig 3], с предустановленной панелью Установка Webmin. Зарегистрировав себе Яндекс Диск по ссылке на картинке в отличии от стандартной регистрации вы получаете +1 ГБайт к вашему диску, ну а я +0,5ГБайт за каждого приведенного. Я не стараюсь лишний раз "пропиарить" и без того замечательный сервис Яндекс которым пользуюсь с начала его запуска, так как этот сервис стоит того чтобы каждый из нас мог пользоваться в целях безопасности наших сайтов и скорости его работы, удобства пользования и по настоящему бесплатного и надежного ресурса!

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

  1.  
Source code

и повторно введем пароль основного пользователя системы.

Установка

Так как сервис Яндекс Диск поддерживает работу через WebDAV, нам понадобится программа davfs2. Ввиду того, что утилита «davfs2» из одноименного пакета не входит в базовую комплектацию ОС «Ubuntu», следует провести предварительную установку данного пакета.
Выполнить это можно, командой:

  1.  
Source code

Настройка

По завершении установки следует выполнить переконфигурирование пакета:

  1.  
Source code

Мы должны увидеть окно со следующим текстом:

Чтобы разрешить монтирование ресурсов WebDAV непривилегированным (не имеющих суперпользовательских прав root) пользователям на файл /sbin/mount.davfs должен быть установлен SUID бит. Если вы откажитесь, то только пользователь root сможет монтировать ресурсы WebDAV. Данную настройку можно изменить позже запустив команду 'dpkg-reconfigure davfs2'.
Разрешить монтирование ресурсов WebDAV непривилегированным пользователям?

выбрав пункт «Да», для разрешения монтирования облачных хранилищ непривилегированным пользователям ОС. Заместо этого можно просто выполнить команду

  1.  
Source code


Также, для удобного монтирования, без необходимости ввода пароля корневого пользователя (root), необходимо добавить пользователя в группу «davfs2». Например, если планируется добавить данного пользователя, следует выполнить команду.
  1.  
Source code


Создание точки монтирования
Монтирование возможно только в существующую папку, создать которую можно, например, командой
  1.  
Source code

или
  1.  
Source code

вторая команда применяется если для создания папки требуются административные привилегии.

Где:

  • $PathToMountPoint следует заменить допустимым именем в пользователя Ubuntu. Например, $PathToMountPoint может принимать следующие значения
  • $HOME/CloudDisk – точка монтирования размещена в домашней папке пользователя и под-папке CloudDisk.
  • /media/CloudDisk – точка монтирования размещена в системной папке /media и под-папке CloudDisk./ Для создания требуются административные привилегии. Рекомендуется создавать точку монтирования в папке /media, потому что при этом облачное хранилище будет доступно к монтированию\размонтированию через Nautilus.

Во избежание конфликтов, такую папку (естественно с другим именем) следует создавать для каждого удаленного облачного диска, который планируется использовать.
В своем примере я использую команду:

  1.  
Source code


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

Этот файл содержит секретную информацию (пароль пользователя для доступа к удаленному облачному диску), следует позаботится о их сохранности и защищенности

Файл /etc/davfs2/secrets является системным, доступ на чтение к нему имеет только корневой пользователь root, поэтому хранение пароля в нём более безопасно.

Далее рассматривается указание аутентификационной информации пользователя облачного диска в файле /etc/davfs2/secrets.
Открыв этот файл для редактирования, например, командой
  1.  
Source code

и в самый конец файла добавляем следующую команду:

[...]
$WebDAV_Address $USER $PASSWORD

В моем случае это команда выглядит так:

  1.  
Source code

(не забудьте сменить login и password на свой логин и пароль учетной записи Яндекс соответственно)

Ввиду наличия секретной информации в этом файле, обязательно следует запретить другим пользователям системы производить его чтение, например, командой
  1.  
Source code


Настройка монтирования fstab 
Сопоставление адреса облачного диска и точки его монтирования производится за счет информации в файле /etc/fstab (см. fstab, fstab). В этот файл следует внести информацию о параметрах монтирования для каждого облачного диска. Для редактирования этого файла можно выполнить команду (требуются административные привилегии)
  1.  
Source code

Файл /etc/fstab следует дополнить строкой (дописать в самом конце)
  1.  
Source code

Внимание! Если Вам необходимо автоматическое монтирование при запуске системы, заменяем noauto на auto.
Так как мы используем сервис Яндекс Диск наша строка будет иметь вид:
  1.  
Source code

не забудьте сменить путь к вашего монтируемого каталога /backup/yadisk если он отличается в Вашем случае.

Проверка монтирования
После завершения данных манипуляций целесообразно проверить монтирование, выполнив команду mount
  1.  
Source code

где:

  • $PathToMountPoint точка монтирования облачного диска описанная в /etc/fstab.
  • Или равнозначной командой:
    1.  
    Source code

где:

  • $WebDAV_Address адрес для доступа к облачному диску, прописанный в /etc/fstab.

Отмонтировать такой диск можно командой umount

  1.  
Source code

Или равнозначной командой:
  1.  
Source code

Далее необходимо настроить резервное копирование используя Webmin, о том как это сделать уже описано в статье резервное копирование Ubuntu в Webmin. Так же не забудьте, что в Webmin можно выполнить резервное копирование баз данных Службы - Сервер баз данных MySQL - Backup Databases более подробно об этом в материале Резервное копирование сайтов в Webmin.