Резервные копии являются неотъемлемой частью безопасности системы. Без них невозможна работа предприятий, в частности банков, где снимки (snapshot) делаются чуть ли не каждый час.
Однако масштабы и регулярность не сопоставима с жизнью одного человека. В личной жизни мы также имеем очень большое количество драгоценных данных: семейные фотографии, личные документы и рабочие файлы, которые мы не должны терять. И чтобы не допустить этого мы должны делать резервные копии.
Существует несколько видов резервного копирования, каждый из них обладает своими особенностями, достоинствами и недостатками:
[ ] [ ] [ ] [ 10G ]
[ ] [ ] [ 10G ] [ 10G ]
[ ] -> [ 10G ] -> [ 10G ] -> [ 10G ]
[ 50G ] [ 50G ] [ 50G ] [ 50G ]
Level 0 Level 1 Level 2 Level N
[ ] [ ] [ ] [ 10G ]
[ ] [ ] [ 10G ] [ 10G ]
[ ] -> [ 10G ] -> [ 10G ] -> [ 10G ]
[ 50G ] [ ] [ ] [ ]
Level 0 Level 1 Level 2 Level N
[ ] [ ] [ ] [ 10G ]
[ ] [ ] [ 10G ] [ ]
[ ] -> [ 10G ] -> [ ] -> [ ]
[ 50G ] [ ] [ ] [ ]
Level 0 Level 1 Level 2 Level 3
Таким образом можем выделить следующие достоинства и недостатки данных методов:
| Полная | Дифференциальная | Инкрементальная | |
|---|---|---|---|
| Объём | - | + | ++ |
| Надежность | ++ | + | - |
В реальности чаще всего используется комбинации методов, которые называются “схемами ротации”. Самая популярная схема ротации “дед-отец-сын” подразумевает:
В разговорной речи и научно-популярной иногда попадается понятие “синтетическая копия”. Если говорить простыми словами, то синтетическая копия - это полная копия, собранная из других инкрементальных/дифференциальных. Такая копия создаётся сильно проще, но вместе с этим она менее надёжная. Повреждение одного из инкрементальных копий может привести к повреждению полной, поэтому создание таких копий в особо важных местах нежелательно.
Самый простой вариант создать полную резервную копию - это сделать tar архив. Сделать это можно одной командой и большинстве случаев не потребует установки дополнительных программ:
tar --create \
--gzip \
--file=$HOME/backup/$(date --iso-8601).tar.gz \
--exclude=$HOME/backup \
$HOME
Похожим образом можно создавать и инкрементальные копии:
tar --create \
--gzip \
--file=$HOME/backup/$(date --iso-8601).tar.gz \
--listed-incremental=$HOME/backup/backup.snar \
--exclude=$HOME/backup \
$HOME
И дифференциальные копии: разница лишь в том, что для этого необходимо для каждой резервной копии использовать только первый snapshot-файл.
В целом метод не требует особых знаний, легко поддаётся автоматизации и лёгок в управлении. Такие архивы можно зашифровать симметрично или асимметрично через GnuPG и отправить по внешним дискам и сетевым папкам.
--
Aleksei Savin mailto:lessavin@hotmail.com
https://lessavin.ru xmpp:lessavin@lessavin.ru
Europe/Moscow (MSK, +0300) matrix:u/lessavin:gnulinux.club