Алгоритм работы программы
Добрый день.
Есть вопрос по алгоритму работы программы. Имеется задание на резервное копирование локальной папки на сетевую в виде архива zip. Так вот порядок действий программы:
Получение доступа к сетевой папки, сканирование исходных файлов, достигнуто ограничение по количеству Полных резервных копий, следовательно удаление Полной копии, архивирование, копирование в сетевую папку и удаление временных файлов.
Получается если на сетевом диске недостаточно места для сохранения очередной резервной копии и было достигнуто ограничение по количеству Полных резервных копий, то он и старый архив удалит и новый не сможет скопировать т.к. нет места. Просто по алгоритму работы программы проверка свободного места на сетевом хранилище производится после удаления полной копии.
Может есть какой-нибудь изменить порядок к алгоритме работы программы или мы что-то не так делаем?
Здравствуйте, Артем
У вас используется версия Exiland Backup Standard 6.1 или всё таки Exiland Backup Professional 6.4 ?
Обновите до 6.4
Программа действительно сначала удаляет самую старую полную копию, освобождая место на диске, а потом создает новую. Так больше вероятности, что хватит места на диске для создания новой полной копии.
Сделать проверку свободного места на диске до создания рез.копии невозможно, т.к. непонятно сколько места потребуется для создания новой резервной копии. А когда копия уже создана, то становится понятно, сколько она "весит".
Единственное, что можно попробовать сделать, дать выбор пользователю: сначала удалять старую копию, а потом создавать новую или наоборот, т.е. сначала создавать новую, а потом удалять старую.
В версии 6.4 от 21.12.2022 в списке изменений есть "В списке заданий добавлены колонки "Объем исходных данных". Почему бы не опираться на этот объем и проверять наличие данного объема перед удалением старой копии. Если свободного места (в месте сохранения резервной копии) больше чем "Объем исходных данных", то архивируем, удаляем старое, сохраняем новое. Если свободного места (в месте сохранения резервной копии) меньше чем "Объем исходных данных", останавливаем текущее задание без удаления старой копии.
Или ваш вариант (дать выбор пользователю: сначала удалять старую копию, а потом создавать новую или наоборот, т.е. сначала создавать новую, а потом удалять старую) тоже можно попробовать.
Здравствуйте, Артем.
Можно сделать настройку "Алгоритм удаления старых рез.копий", состоящую из выбора:
- Сначала удалять старую копию, а затем создавать новую
- Сначала создавать новую, а затем удалять старую
- Определять автоматически
Если пользователь выбрал "Определять автоматически", то алгоритм определятся автоматически с проверкой свободного места в конечной папке например, на основе просканированного объема исходных данных. Проверять свободное место только главном хранилище N1, для простоты.
Есть, правда нюанс. Всё вышесказанное годится для случая, если в настройках задания нет архивирования в ZIP и 7z. Объем исходных данных - это суммарное кол-во байт исходных файлов, но исходные файлы могут при архивировании сжаться в 3 раза и тогда в хранилище потребуется места в 3 раза меньше, чем без архивирования. Оценить размер будущего ZIP-архива заранее (до архивирования) невозможно.
Здравствуйте.
По поводу настройки "Алгоритм удаления старых рез.копий" это очень хорошо. Только по поводу нюанса, вышесказанное может распространятся так-же на вариант "упаковывать в ZIP со степенью сжатия: без сжатия" (сейчас у нас реализовано), т.к. размер zip архива практически равен объему исходных данных и на него можно опираться для определения необходимого доступного места.
Возможно я не полностью понимаю алгоритм программы, но я все равно не понимаю зачем оставлять выбор пользователю "Сначала удалять старую копию, а затем создавать новую" (это касается только варианта с сохранением резервной копии на сетевой папке). Программа все равно архивирует исходные файлы у себя во временной папке и результат удачного архивирования никак не зависит от свободного места на сетевом хранилище. Программа запустилась, удалила старый архив из сетевого хранилища, заархивировала файлы у себя во временной папке (локально место хватает), при попытке скопировать в сетевую папку понимает что места там нет, отменяет копирование, удаляет резервную копию из временной папки. В итоге, старой копии нет и временной нет, т.к. она временная) не понятно.
Здравствуйте. Артем
> я все равно не понимаю зачем оставлять выбор пользователю "Сначала удалять старую копию, а затем создавать новую"
Это может касаться любого случая, даже если рез.копии хранятся на локальном диске.
Данное значение настройки может пригодиться чтобы с большей вероятностью хватило места на диске, ведь в процессе создания рез.копии на диск может параллельно Проводником копироваться фильм или какая-то другая программа что-то записывать на диск.
Здравствуйте.
Хорошо, я вас понял. Значит будем ждать обновления программы. Спасибо за ответы, заявку будем закрывать.