Вопрос или проблема
Я инкрементально создаю резервные копии своего проекта по программированию с помощью Duplicity и обнаруживаю, что он потребляет больше памяти, чем ожидалось.
Папка, которую я сохраняю, в основном состоит из gif-файлов, изображений и библиотек, которые занимают большую часть пространства и лишь изредка изменяются, и из моих скриптовых файлов, которые занимают очень мало места, но их нужно сохранять каждые 15 минут, чтобы избежать потери многих часов работы в случае случайного удаления данных.
Поскольку Duplicity не сохраняет файлы в целом, а имеет зашифрованные фрагменты, которые необходимо восстанавливать, я предположил, что это означает, что она копирует только те части папок, которые нужно изменить, в снимок и алгоритмически соединяет их вместе?
Если нет, существует ли инструмент, который будет более эффективным для выполнения этой задачи? В идеале я хочу настроить систему, которая создает резервную копию всей папки на USB-накопитель раз в день и выполняет более эффективную синхронизацию каждые 15 минут, чтобы я мог легко откатиться назад, если случайно удалю все.
Используйте robocopy.
Например, Robocopy “C:\path\tofolder” “U:\path\toUSB” /MIR
Затем используйте планировщик задач, чтобы запускать это так часто, как необходимо. Существуют также другие полезные переключатели, которые вы можете включить.
Ответ или решение
Создание эффективной и экономичной стратегии для резервного копирования папки с проектами программирования — задача, с которой сталкиваются многие разработчики. В вашей ситуации цель состоит в том, чтобы регулярно (каждые 15 минут) создавать резервные копии с минимальным использованием дискового пространства. Давайте рассмотрим, как можно оптимизировать процесс резервного копирования с помощью подходящих инструментов и техник.
Теория
Резервное копирование данных — это важный аспект управления данными, позволяющий защитить информацию от потерь по причине ошибки пользователя, сбоев системы или других непредвиденных обстоятельств. В случае с вашим проектом, вы используете Duplicity, который поддерживает инкрементальное резервное копирование и обеспечивает безопасность данных за счет шифрования.
Duplicity работает, создавая зашифрованные инкрементальные дампы, которые позволяют восстанавливать файлы в исходном состоянии на момент конкретного бэкапа. Хотя этот процесс и эффективен с точки зрения безопасности, он может быть не самым оптимальным в плане использования дискового пространства, когда изменениям подвержена только малая часть файлов (например, код проекта), а большая часть, как фотографии и библиотеки, изменяются редко.
Пример
Процесс резервного копирования можно оптимизировать с помощью других инструментов и подходов. Один из вариантов — использовать robocopy
, который предназначен для синхронизации папок с минимальными изменениями. Этот инструмент позволяет выполнять полное зеркальное копирование с дополнительными настройками (например, фильтрация файлов по расширениям).
Пример команды для robocopy
может быть следующим:
robocopy "C:\path\to\folder" "U:\path\to\usb" /MIR /XD *.png *.jpg *.gif /XF *.dll
В этом примере параметры /MIR
позволяют создать полное зеркало указанной директории, исключая из копирования фотографии и библиотеки через параметры /XD
и /XF
. Такая настройка обеспечивает регулярное копирование только необходимых файлов.
Применение
-
Настройка периодичного резервного копирования: Используйте
Task Scheduler
или аналогичные инструменты планировщика задач для настройки автоматического выполнения командыrobocopy
каждые 15 минут. Это обеспечит оперативное обновление резервной копии при изменении кода. -
Полное копирование один раз в день: Для ежедневного полного копирования каталога, включая все файлы и библиотеки, используйте снова
robocopy
с параметром/MIR
, но без исключений. Так вы обеспечите полное резервное копирование на случае критических изменений. -
Инкрементальные резервные копии: Если по-прежнему хотите использовать Duplicity для сохранения долгосрочных изменений, можно настроить инкрементальное копирование на более длительные интервалы, например, раз в несколько часов или сутки.
-
Оптимизация дискового пространства: Периодически проверяйте и очищайте устаревшие данные на USB-накопителе, например, удаляя файлы, резервные копии которых уже не актуальны.
Использование этих рекомендаций позволит создать баланс между частотой резервного копирования и оптимальным использованием дискового пространства. Вы сможете минимизировать объем данных для регулярных резервных копий, сохраняя при этом возможность быстрого и надежного восстановления информации. Проводя регулярные проверки интеграции и восстановления данных, вы снизите риск возможных проблем в будущем и обеспечите надежность всей системы.