opened image

Выполнение бекапов сайтов с ротацией

Преимущества бекапов с ротацией.

Выполнение бекапов с ротацией (backup rotation) с использованием скрипта имеет несколько преимуществ:

1. Экономия пространства хранения: Ротация бекапов позволяет оптимизировать использование дискового пространства. Вместо создания новой полной копии каждый раз, когда выполняется бекап, скрипт может сохранять только изменения, которые произошли с момента последнего бекапа. Таким образом, можно значительно сэкономить место на диске.

2. Упрощение управления и восстановления: Ротация бекапов позволяет легко управлять и находить нужную версию резервной копии. Обычно используется стратегия хранения нескольких поколений бекапов, например, ежедневные, еженедельные или ежемесячные. Это упрощает процесс восстановления данных, так как можно выбрать конкретный момент времени для восстановления, соответствующий требованиям.

3. Защита от повреждений данных: Ротация бекапов минимизирует риск повреждения или потери данных. Если один из бекапов становится непригодным или испорченным, всегда есть доступ к предыдущим версиям, что обеспечивает дополнительный уровень защиты.

4. Регулярность создания бекапов: Использование скрипта с ротацией обычно подразумевает автоматизацию процесса создания бекапов. Можно настроить скрипт таким образом, чтобы он выполнялся регулярно по расписанию, обеспечивая постоянную защиту данных. Это устраняет необходимость ручного создания бекапов и уменьшает вероятность пропуска этого важного шага.

5. Гибкость и настраиваемость: Скрипты ротации бекапов обычно позволяют настроить параметры хранения и ротации согласно требованиям. Можно определить, сколько поколений бекапов хранить, какие типы бекапов создавать (полные, инкрементальные или дифференциальные) и как часто выполнять ротацию. Это позволяет адаптировать процесс бекапирования под уникальные потребности и ограничения системы.

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

 

Скрипт.

За основание можно взять скрипт описанный ранее, и изменим его. Этот скрипт представляет собой пример скрипта бекапирования с ротацией для веб-сайта без панели управления сервером, расположенным в /var/www. Пример скрипта резервного копирования с ротацией в 7 дней.  Скрипт также можно скачать с GitHub.

#!/bin/bash
cd /backup/www
rm ./www-dump-7.tar.gz

mv www-dump-6.tar.gz www-dump-7.tar.gz
mv www-dump-5.tar.gz www-dump-6.tar.gz
mv www-dump-4.tar.gz www-dump-5.tar.gz
mv www-dump-3.tar.gz www-dump-4.tar.gz
mv www-dump-2.tar.gz www-dump-3.tar.gz
mv www-dump-1.tar.gz www-dump-2.tar.gz
mv www-dump-0.tar.gz www-dump-1.tar.gz

tar -czf www-dump-0.tar.gz /var/www

Он выполняет следующие действия:

  1. Переходит в директорию /backup/www, где хранятся резервные копии файлов веб-сайта.

  2. Удаляет самую старую резервную копию www-dump-7.tar.gz, чтобы освободить место для новой копии.

  3. Затем он выполняет последовательное переименование резервных копий файлов веб-сайта. Каждая копия переименовывается, чтобы добавить суффикс с более высоким номером, например, www-dump-6.tar.gz становится www-dump-7.tar.gz. Это позволяет сдвигать все копии на одну позицию вверх, освобождая место для новой копии.

  4. Наконец, он создает новую резервную копию www-dump-0.tar.gz, архивируя файлы веб-сайта /var/www с помощью команды tar и флага czf. Созданная копия получает наименьший номер 0, обозначая самую свежую версию.

Выводы.

Таким образом, скрипт осуществляет ротацию резервных копий файлов веб-сайта в пределах 7 дней, удаляя самую старую копию и сдвигая все остальные. Новая копия создается с каждым запуском скрипта, обновляя старшую версию. Это позволяет хранить последние 7 дней резервных копий и обеспечивает гибкость восстановления веб-сайта на определенный момент времени.