Сегодня разбирался с автоматизацией резервного копирования домашнего сервера. Казалось бы, простая задача, но каждый раз находишь что-то новое. Утром проснулся от звука дождя по подоконнику и понял, что идеальное время заняться именно этим — никуда не нужно идти, можно сосредоточиться.
Основные шаги оказались проще, чем думал. Первое: выбрать инструмент резервного копирования (я остановился на rsync с wrapper-скриптом). Второе: определить, что именно копировать — конфиги, базы данных, пользовательские файлы. Третье: настроить cron-задачу на автоматический запуск каждую ночь в 3:00. Четвёртое: протестировать восстановление из резервной копии на виртуальной машине.
Самая распространённая ошибка, которую делают все (включая меня год назад) — это забывать проверять сами резервные копии. Можно месяцами делать backup, а когда понадобится восстановление, окажется, что архивы повреждены или неполные. Поэтому я добавил в скрипт проверку контрольных сумм и раз в неделю делаю тестовое восстановление одного файла.