О роли бэкапов в народном хозяйстве

Кто из пользующихся компьютерами и прочей электронной техникой хотя бы год не терял данные? Сомневаюсь, что ответивших утвердительно найдётся много. «Стуканул» винчестер или просто обвалилась файловая система, выпала из кармана флэшка, украли телефон или ноутбук, после бессонной ночи ошибся командой или просто ткнул сослепу не ту клавишу — от подобных неприятностей никто не застрахован. И даже если винчестер заменили по гарантии, а на новый ноут или телефон нашлись деньги, масштабы катастрофы меньше не становятся: данных не вернёшь. У кого-то пропала диссертация, у кого-то — архив фотографий за последние пять лет, у кого-то — редкий скан старого документа или тщательно собранная за годы телефонная книга. Музыку и фильмы можно снова переписать с дисков, а вот осталась ли на DV-кассете видеозапись первых шагов любимого племянника?

Короче говоря, мысль о том, что не стоит класть все яйца в одну корзину, рано или поздно приходит в голову каждому. Как правило, поздно, но такова уж человеческая природа. И если с телефоном и записями в его памяти всё понятно — достаточно взять себе за правило время от времени делать резервную копию данных на комп (благо, в эру Bluetooth даже лишних телодвижений для этого требуется немного). Сложнее с данными, хранящимися на самом компьютере (а того, что страшно потерять, там обычно намного больше).

В последнее время исключительно популярными стали системы обеспечения избыточности, в частности, RAID — его теперь встраивают даже в некоторые ноутбуки. Смысл в том, что при выходе из строя винчестера остаётся копия данных на втором (третьем, четвёртом, пятом) диске, и, при желании, эти данные можно восстановить. Технология, бесспорно, полезная и нужная, однако обладающая одним маленьким недостатком: защищает она только от «железных» проблем. Удалённый по ошибке файл RAID’ом не восстановишь — что толку в двух копиях файловой системы, если нужный файл был удалён с обеих (а так оно и происходит).

То, что при работе нужно быть внимательным и думать, что удаляешь, конечно, очевидно. Но случаи бывают разные. Я, например, в своё время, «перелезая» с Thunderbird на Evolution ошибся командой и скопировал пустой файл из Evo на место Thunderbird’овской базы с письмами, а не наоборот, как намеревался — в результате пропал архив переписки за несколько лет, в том числе и несколько десятков писем с очень ценной и нигде не продублированной информацией. Понимание того, что избыточность — избыточностью, а резервные копии делать надо, лично ко мне пришло именно после того случая.

Самое обидное, что к тому времени у меня были и небольшой винчестер, оставшийся после апгрейда ноутбука, и необходимые программы, не было только времени на то, чтобы всё это настроить и начать использовать. Что характерно: время на сбор той части пропавшей информации, которую ещё можно было собрать, нашлось. Как и время на организацию бэкапа — запоздавшую, но с тех пор уже не раз меня выручившую.

По сути, для простейшего бэкапа достаточно просто внешнего винчестера или большой флэшки — просто скопировать туда данные, которые страшно потерять, да хранить на полке. Можно даже на DVD записать в крайнем случае, вот только, положа руку на сердце, насколько часто будет обновляться такая копия? И не окажется ли после случившейся-таки потери данных, что нужный файл появился месяц назад, а винчестер с бэкапом в последний раз доставался с той самой полки аккурат перед Новым Годом, и то — для протирки пыли?

Выход очевиден: организовать регулярные автоматические бэкапы. Софта для этой цели куча под все распространённые операционные системы, а во внешних винчестерах для этой цели в магазинах недостатка нет. И если покупка какого-нибудь Western’овского терабайтника в красивом корпусе для меня — пока ещё дело отдалённого будущего, то найти старенький винчестер, оставшийся от прошлого апгрейда, как правило, не проблема. Все данные туда, конечно, не влезут, но на документы, фотографии, почту, заметки и прочие созданные непосильным трудом уникальные единицы информации вполне хватит. Всем, кто ничем подобным до сих пор не озаботился — настоятельно рекомендую! Проверьте только, чтобы в случае чего файлы из бэкапа действительно можно было восстановить: история знает массу примеров, когда бэкап оказывался совершенно бесполезным по причине нечитаемости.

Лично у меня это дело организовано с привлечением 120-гигабайтного винчестера, жившего в недрах моей «сотки» до тех пор, пока на его месте не поселилась 320-ка. Винчестер этот упрятан в USB-корпус и подключён к роутеру, обеспечивающему ноут интернетом, а телефон — возможностью совершать SIP-звонки (помимо бэкапов, на этом же винчестере «живёт» маленький личный FTP-сервер). Софтовая реализация проста до безобразия: роутер от рождения работает под Linux (за что Asus’у большое спасибо), для бэкапов пришлось установить только rsnapshot, ssh и cron. Каждые три часа cron запускает процесс бэкапа и, если ноут в сети (то есть не выключен и не унесён куда-нибудь владельцем), роутер подключается к нему по ssh и в действие вступает rsnapshot, собирающий указанные в конфигурационном файле директории и отдельные файлы. На роутере хранятся копии бэкапов за весь текущий день, по одной — за каждый день прошедшей недели, по одной — за каждую неделю текущего месяца и по одной за каждый прошлый месяц. Те файлы, которые с момента последнего бэкапа остались без изменений, по новой не скачиваются (на них устанавливаются hardlink’и с предыдущей копии — привет от файловой системы ext), так что процесс копирования много времени не занимает, да и на винчестере все эти копии укладываются вполне компактно: при том, что объем полного бэкапа на сегодня — около 25 гигов, все копии за последние полгода в сумме «тянут» всего на 40.

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

Ответы