Backup статичного блога: простой план без корпоративной сложности
Даже статичный сайт нужно бэкапить: важны не только HTML-файлы, но и база статей, конфиги, сертификаты и админка.
Статичный блог кажется неубиваемым: HTML лежит в /var/www, nginx отдает файлы, база не нужна. Но если статьи хранятся в JSON, есть админка, cron, nginx-конфиги и SSL, потерять можно больше, чем кажется.
Что сохранять
/var/lib/sonydev-blog;/var/www/blog.sonydev.de;/etc/nginx/sites-available;/etc/cron.d;- список установленных пакетов;
- заметку с DNS/Cloudflare настройками.
Сертификаты Let's Encrypt обычно можно перевыпустить, но конфиги лучше понимать.
Самый простой вариант
Для начала достаточно rsync на локальную машину или другой сервер:
rsync -avz root@server:/var/lib/sonydev-blog ./backup/
rsync -avz root@server:/var/www/blog.sonydev.de ./backup/
Лучше добавить дату в каталог и периодически проверять, что backup реально открывается.
Более взрослый вариант
Restic или Borg дают шифрование, дедупликацию и retention policy. Это удобнее, если backup делается автоматически.
Вывод
Backup — это не файл где-то в облаке. Backup существует только если его можно восстановить. Раз в месяц стоит делать тест: поднять копию или хотя бы проверить, что статьи читаются.