n1kita вы правильно сказали, и я тут не спорю. restic репу хоть трижды шифруйте — если
3389 торчит в wan, бэкап уже ни при чём. Видел не раз: человек настроил restic, check зелёный, а
rdp с улицы открыт «на время, пока чиню». Сессию снимут раньше, чем forget отработает. Порт в интернет НЕ ОТКРЫВАЙТЕ. У меня win server слушает
3389 только локально, заход через туннель с Keenetic. restic отвечает за пожар и диск, а не за то, чтобы с улицы не зашли.
Ключ репы рядом с репой тоже не держу. Пароль restic в менеджере на другой машине, не в каталоге репозитория и не в bat-нике рядом с задачей Планировщика. Иначе шифрование репы — самообман: взяли диск, взяли пароль, дальше как без шифра.
lexa92 по версиям отвечаю, раз спросили. Win server 2016 standard, mssql 2017 standard, 1С и файловая, и
sql. restic 0.16.4, бинарник с
github, не scoop и не wsl. Служба как задача Планировщика от SYSTEM.
Volume Shadow Copy — Running, это давно, без этого флаг молча ничего не даст.
lexa92 писал:
один раз restic check был зелёный, а база из снимка файлов не встала — встала только из bak
так это и устроено, и check тут ни при чём. restic check проверяет, что блобы в репе на месте и хеши сошлись. Он не проверяет, что
sql этот mdf примет. Зелёный check я ловил тоже. На восстановлении файловый снимок базы не поднялся. Поднялся штатный bak. После этого живой mdf в репу не кладу, даже с --use-fs-
snapshot. Снапшот тома
sql в этот момент мог не сбросить страницы на диск. VSS restic-у даёт согласованный том для логов и конфигов, не для живой базы.
по шагам, как у меня в самаре:
- sql: сначала штатный backup database в bak, с verify. Каталог локальный, не сетевой диск и не та же репа restic. Иначе «бэкап бэкапа» путается в голове, а при restore непонятно, какой файл свежий.
- 1С файловая — выгон пользователей, dt или копия каталога базы. Живую 1cv8.1CD restic-ом не снимаю. Потом restore «успешный», а конфигуратор базу не открывает. Узнают в тот день, когда надо открыть.
- restic backup этого каталога плюс конфигов. Для конфигов и логов — --use-fs-snapshot. Без флага vss даже не дёрнется.
- репа на vps, restic шифрует сам. Пароль не в том же месте, что репа, и не в том же месте, что исходные bak.
- forget и prune по расписанию, отдельно от backup. В одной команде у меня один раз prune пошёл, пока backup ещё писал — репа на полчаса встала, задача по красному. Теперь сначала backup, через час prune.
- restore. Check зелёный не считается. Раз в квартал поднимаю bak на запасной машине, sql стартую, 1с подключаюсь. Без этого бэкапа нет, есть зелёный кружок.
borg под винду не ставил и ставить не буду. wsl ради бэкапа win server мне не нужен, данная история не моя. restic хотя бы vss умеет из коробки.
ещё грабли, которые ловил сам, чтобы потом не искать:
- Планировщик от пользователя с сессией. Задача молча не стартанула после перезагрузки сервера. От SYSTEM, права на каталог bak выданы отдельно. Иначе в логе пусто, restic «как бы работал».
- Антивирус на лету кусал restic cache. Исключение на cache и на restic.exe. Без этого backup «успешный» за три секунды, в репе пусто, check при этом зелёный — та ещё шутка.
- Часовой пояс. Планировщик win server и utc. У меня самара utc+4, задача «в три ночи» один раз уехала на утро, sql в это время уже работал, bak снялся на живую нагрузку. Сейчас смотрю локальное время сервера, не то, что в кабинете нарисовано.
n1kita
3389 и restic — два разных контура. Один про то, чтобы в систему не зашли. Второй про то, чтобы после диска поднять базу. Путать их не стоит: restic порт не закроет, закрытый порт базу после пожара не вернёт. Оба нужны, по отдельности.
Я раньше сам ориентировался на check. Потом поймал ту же кашу, что lexa92: репа целая, база из файлов не встаёт, из bak встаёт. С тех пор без пробного restore на чистую считаю, что бэкапа нет. Зелёный кружок restic — как светофор на пустой дороге: горит, ехать всё равно некуда.
а у кого-то check зелёный, а база из файлового снимка не встала — ловили, кроме этого случая? И restore на чистую гоняете раз в квартал или «ну restic же не ругнулся»?