Уважаемые господа,
В данный момент я изучаю возможности замечательной платы Raspberry Pi и как настоящий администратор столкнулся с проблемой бэкапов.
Причем с полными бэкапами, в отличие от Windows тут проблем нет, так как вся система записана на SD карточке, вставил ее в карт ридер и с помощью Win32DiskImager записал образ в файл. Но каждый день это делать очень не хочется, в связи с необходимостью включать компьютер, и достаточно продолжительным временем, которое занимает копирование даже 6GB карточки.
Так что задачей является сохранение файлов из пользовательского каталога в конце работы.
Прочитав на этом сайте статью «davfs2 и encfs на box.com» я решил сделать все по-современному через «облако».
Для разнообразия будем подключаться к «Яндекс диску». На котором и зарегистрируем почтовый ящик, для примера robots@yandex.ru, и подключим «Яндекс диск». Максимум 10GB в бесплатном варианте, но для наших целей более чем достаточно.
Не забываем обновиться
Устанавливаем пакет поддержки davfs2
Даем права пользователю pi
Создаем точку монтирования диска в домашнем каталоге
Запишем логин и пароль в файл /etc/davfs2/secrets, где robots – имя почтового ящика, а password пароль для него
И наконец пропишем наш новый диск в fstab
Добавляем строку
Большинство описаний подключения дисков забывают параметр _netdev который напоминает системе, что это сетевой диск и не стоит его подключать до подключения Wi-fi или Ethernet. В данной строке пользователь pi основной пользователь под которым я работаю, что спасает от вы зова chown -R pi /home/pi/yandex.disk для раздачи прав.
Перегружаемся и если мы все сделали правильно радуемся подключенному сетевому диску.
На ежедневной основе мне нужно сохранять несколько рабочих каталогов с учебными проектами на С и Питоне, не очень большого размера. Но учитывая общую «паранойю», мне бы не хотелось чтоб даже к этим файлам имели доступ посторонние. Так что озаботимся шифрованием данных.
В отличие от автора статьи «davfs2 и encfs на box.com» я не буду устанавливать шифрованную систему, ограничусь шифрованными архивами. Проведя исследования средств шифрования доступных для Raspberry Pi я выбрал самый простой в реализации 7-zip. Данный продукт обеспечивает шифрование AES-256, что достаточно для домашнего использования.
Устанавливаем пакет 7-zip
И создаем файл full.backup.sh для автоматического создания архива
После второго запуска скрипта /home/pi/yandex.disk/Backup/ должна содержать две последние версии архива.
Данный скрипт я вызываю руками по мере надобности. Но можно наверное и автоматизировать этот процесс, например при выходе из X. И на всякий случай напомню, что формат 7z не сохраняет права на файлы и не может служить средством для восстановления системных файлов!
Готов выслушать исправления и замечания. Заранее спасибо.
В данный момент я изучаю возможности замечательной платы Raspberry Pi и как настоящий администратор столкнулся с проблемой бэкапов.
Причем с полными бэкапами, в отличие от Windows тут проблем нет, так как вся система записана на SD карточке, вставил ее в карт ридер и с помощью Win32DiskImager записал образ в файл. Но каждый день это делать очень не хочется, в связи с необходимостью включать компьютер, и достаточно продолжительным временем, которое занимает копирование даже 6GB карточки.
Так что задачей является сохранение файлов из пользовательского каталога в конце работы.
Прочитав на этом сайте статью «davfs2 и encfs на box.com» я решил сделать все по-современному через «облако».
Для разнообразия будем подключаться к «Яндекс диску». На котором и зарегистрируем почтовый ящик, для примера robots@yandex.ru, и подключим «Яндекс диск». Максимум 10GB в бесплатном варианте, но для наших целей более чем достаточно.
1. Настраиваем Raspbian wheezy
Не забываем обновиться
$ sudo apt-get update
$ sudo apt-get upgrade
Устанавливаем пакет поддержки davfs2
$ sudo apt-get install davfs2
Даем права пользователю pi
$ sudo usermod -a -G davfs2 pi
Создаем точку монтирования диска в домашнем каталоге
$ mkdir /home/pi/yandex.disk
Запишем логин и пароль в файл /etc/davfs2/secrets, где robots – имя почтового ящика, а password пароль для него
$ sudo echo "https://webdav.yandex.ru robots password" >> /etc/davfs2/secrets
И наконец пропишем наш новый диск в fstab
$ sudo nano /etc/fstab
Добавляем строку
https://webdav.yandex.ru /home/pi/yandex.disk davfs rw,noexec,auto,user,async,_netdev,uid=pi,gid=pi 0 0
Большинство описаний подключения дисков забывают параметр _netdev который напоминает системе, что это сетевой диск и не стоит его подключать до подключения Wi-fi или Ethernet. В данной строке пользователь pi основной пользователь под которым я работаю, что спасает от вы зова chown -R pi /home/pi/yandex.disk для раздачи прав.
Перегружаемся и если мы все сделали правильно радуемся подключенному сетевому диску.
2. Настраиваем сохранение данных
На ежедневной основе мне нужно сохранять несколько рабочих каталогов с учебными проектами на С и Питоне, не очень большого размера. Но учитывая общую «паранойю», мне бы не хотелось чтоб даже к этим файлам имели доступ посторонние. Так что озаботимся шифрованием данных.
В отличие от автора статьи «davfs2 и encfs на box.com» я не буду устанавливать шифрованную систему, ограничусь шифрованными архивами. Проведя исследования средств шифрования доступных для Raspberry Pi я выбрал самый простой в реализации 7-zip. Данный продукт обеспечивает шифрование AES-256, что достаточно для домашнего использования.
Устанавливаем пакет 7-zip
$ sudo apt-get install p7zip-full
И создаем файл full.backup.sh для автоматического создания архива
# BackUp library to network
# Удаляем архив в пользовательском каталоге
rm project.arhieve.7z
# Архивируем нужные каталоги с шифрацией, <password> пароль на архив, если оставить только параметр –p то пароль будет запрошен при старте скрипта. Каталоги projects и Arduino содержат файлы которые мне нужно сохранить.
7z a -t7z -mhe=on –p<password> project.arhieve.7z /home/pi/projects /home/pi/Arduino
# Удаляем бэкапный архив
rm /home/pi/yandex.disk/Backup/project.arhieve.back
# Переименовываем архив на облаке в файл *.back
mv /home/pi/yandex.disk/Backup/project.arhieve.7z /home/pi/yandex.disk/Backup/project.arhieve.back
# Переносим новый архив на облако
cp project.arhieve.7z /home/pi/yandex.disk/Backup/project.arhieve.7z
Создаем на Яндекс диске каталог Backup для записи архивов. Даем права на запуск и тестируем.После второго запуска скрипта /home/pi/yandex.disk/Backup/ должна содержать две последние версии архива.
Данный скрипт я вызываю руками по мере надобности. Но можно наверное и автоматизировать этот процесс, например при выходе из X. И на всякий случай напомню, что формат 7z не сохраняет права на файлы и не может служить средством для восстановления системных файлов!
Готов выслушать исправления и замечания. Заранее спасибо.