В честь "Всемирного дня бэкапа" решил частично проверить восстановление той части резервного копирования, что описана у меня сколько-нибудь подробно здесь (на Дзене, в той же статье короткие воспоминания о бэкапах в 80-е годы). Скрипты копирования такие:
@start "split into BD-RE slices" %comspec% /k py .\bd_split.py %~nx1
#! python3.13 import sys BUF_SIZE = 1024 * 1024 FS_SIZE = 2048 * 512 # кратно BUF_SIZE, значит можно использовать сравнение count == BD_DISK_SIZE BD_DISK_SIZE = 25025314816 - FS_SIZE file_name = sys.argv[1] source = r"K:\backup\2311\{0}".format(file_name) dest_head = r"D:\kvk\YandexDisk\Acronis\{0}".format(file_name) with open(source, "rb") as input: part = 1 while True: count = 0 with open(dest_head + ".{0:02d}".format(part), "wb") as output: bytestring = input.read(BUF_SIZE) while bytestring: count += output.write(bytestring) if count == BD_DISK_SIZE: part += 1 break elif count > BD_DISK_SIZE: raise Exception("Превышен максимальный размер диска для части {0}...".format(part)) bytestring = input.read(BUF_SIZE) else: break
Поскольку облако не специализированное, подписываю GnuPG подписью получившиеся кусочки для последующего возможного контроля целостности.
Сегодня в процессе проверки подключил внешний жёсткий диск с бэкапами, для самой маленькой резервной копии из недавних посчитал SHA256, восстановил её же из облака вместе с подписями, проверил их, собрал эту инкрементную резервную копию из кусочков, проверил SHA256. Совпали. Последний раз проверял по такой схеме наверно более 10 лет назад, ну и сегодня "на всякий случай" :)
А вообще у меня бэкапы проверяются периодически (какие автоматически после каждого резервного копирования, какие вручную еженедельно), а восстановление из копии при изменениях в "железе" и обновлении софта обычно.
