Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox Предлагается один из методов организации бэкапа данных, с которыми производится непосредственная работа и которые постоянно в процессе данной работы меняются. Подготовка Для начала я отделил те данные, с которыми я работаю сейчас от архива и результатов работы. Это относительно небольшой каталог с активными проектами. Относительно - потому что в нем 14 Гб. Dropbox Я использую dropbox, потому что он имеет одну приятную особенность - он просто работает. Без лишних усилий. 2 Гб на бесплатном аккаунте мне, конечно, мало - я пользуюсь платным. В принципе вместо dropbox'а я мог бы делать бэкап на свой сервер, но тогда частичное восстановление данных из бэкапа всегда требовало бы быстрого доступа к сети. Меня это не устраивает - я уже попадал в ситуацию, когда случайно удалял с ноутбука нужный мне большой каталог с файлами, не имея быстрого доступа к сети. Внутри Dropbox у меня большая часть данных, но рабочий каталог с данными над которыми работаю сейчас - нет. Во-первых, потому что в рабочем каталоге у меня часто может быть приватная информация, в том числе чужая. И хотя я облачным сервисам более-менее доверяю, мои клиенты - не всегда, и я должен уважать их политику безопасности. Во-вторых - данные там могут меняться слишком часто. И быть объемными - например логи отладки. Синхронизация при каждом изменении это перебор. Encfs И все-таки бэкапы (как и многие другие данные) у меня хранятся в Dropbox. А это означает, как минимум, что при утере ноутбука у злоумышленника окажется очень много ценных данных. И это недопустимо. Поэтому в Dropbox лежат шифрованные encfs-разделы. Кроме того, у Dropbox есть один неприятный недостаток - он не различает регистр в именах файлов (из-за совместимости с windows). А значит, если у меня в каталоге есть файлы, скажем, README и readme, то один из них он переименует. Encfs шифрует имена файла, за счет этого вероятность таких пересечений становится минимальной. Так что я создаю с помощью encfs внутри ~/Dropbox отдельный каталог для бэкапов, и монтирую его куда-нибудь за пределы каталога ~/Dropbox: Code: mkdir ~/Dropbox/encfs/backup mkdir ~/backup encfs ~/Dropbox/encfs/backup ~/backup rdiff-backup Собственно для бэкапа я использую простейший скрипт: Code: #/bin/sh from=$1 to=$2 if [ -d $to ]; then rdiff-backup "$from" $to rdiff-backup --remove-older-than 1M $to 2>&1 > /dev/null fi Он проверяет наличие каталога (на случай, если encfs раздел не смонтирован), и если он есть - выполняет бэкап. После чего удаляет из бэкапа старые snapshot'ы (старее месяца). Этот скрипт в cron'е запускается раз в сутки. Итог При таком подходе я могу потерять только результаты работы за последние сутки, и не боюсь утечки данных, несмотря на использование облачного сервиса. И да, так как я параноик, также с помощью rdiff-backup на одной из своих машин я делаю ежедневный backup всего содержимого каталога Dropbox. На тот маловероятный случай, если ошибка на самом сервисе Dropbox приведет к потере данных. 12.05.2012 http://www.opennet.ru/tips/2688_backup_dropbox_encfs_crypt_rdiff_rsync_cloud.shtml