Решения для автоматического резервного копирования?

Решения для автоматического резервного копирования?

Я уверен, что мы столкнулись с невероятно распространенной проблемой: мы делаем ежедневное резервное копирование, в результате чего получаются сжатые архивные файлы, в имени которых есть дата, и мы не хотим хранить их все вечно.

Вот некоторые требования, которые я не считаю слишком уж странными:

  • удалить все, кроме последних X резервных копий/дней
  • сохраняйте резервные копии воскресенья
  • сохраняйте последнюю резервную копию каждого месяца
  • предупредить кого-нибудь, если размер последней резервной копии равен 0/больше/меньше последней более чем на 50%

Я пытался гуглить, но нашел только тысячу скриптов, многие из которых с вопиющими проблемами и ошибками. Неужели нет «правильных» решений этой проблемы, которые хорошо протестированы и имеют сообщество? Обречен ли я копировать и вставлять скрипт из SO или SU, который не будет поддерживаться или получать исправления ошибок и однажды, вероятно, съест все наши резервные копии?

решение1

СГФ (Дедушка-Отец-Сын) Метод сохранения, вероятно, является хорошим ответом здесь. Соедините это с некоторыми своевременными crons, такими как упоминания @ivanivan.

По сути, вы делаете резервные копии ежедневно, еженедельно и ежемесячно (Cron будет контролировать, какие именно).

Затем вы можете определить политику хранения.

  • Ежедневные резервные копии обычно хранятся не менее 1 недели (иногда 2–3 недели).
  • Еженедельные резервные копии обычно хранятся в течение 5 недель (но потенциально 8 недель).
  • Ежемесячные резервные копии обычно хранятся в течение 6 или 12 месяцев (в зависимости от годового/полугодового резервного копирования).
  • Ежегодное/полугодовое резервное копирование также можно выполнять, но это может быть полезно только для бухгалтерского учета или в случаях, когда необходимо вести журналы.

Затем crons также очистит старые архивы, которые находятся за пределами окна политики.

Как предполагает ivanivan:

Ваша проблема звучит как относительно простой набор скриптов оболочки, и задания cron справятся с этим. Можно предположить, что вместо того, чтобы гуглить скрипт, который подойдет для чьей-то ситуации, вы гуглите, как научиться делать скрипты оболочки.

вам, возможно, захочется изучить скриптинг bash — это отличная вещь для изучения :)

Связанный контент