JavaRush /Курсы /Модуль 2: Fullstack /Бэкапы и восстановление данных

Бэкапы и восстановление данных

Модуль 2: Fullstack
16 уровень , 3 лекция
Открыта

4.1 Основные методы бэкапа и восстановления данных

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

Основные методы бэкапа и восстановления данных

  1. Бэкапы томов Docker
  2. Использование утилиты tar для бэкапов
  3. Бэкапы баз данных внутри контейнеров
  4. Восстановление данных из бэкапов

4.2 Бэкапы томов Docker

Тома Docker предоставляют удобный способ хранения данных вне контейнеров. Для создания бэкапов томов можно использовать различные подходы.

Пример использования команды docker run для бэкапа тома

Создание бэкапа тома

Создайте контейнер, монтирующий том, и используйте утилиту tar для создания архива данных:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar czf 
/backup/my_volume_backup.tar.gz -C /data .

В этом примере содержимое тома my_volume архивируется в файл my_volume_backup.tar.gz, который сохраняется в директории /path/to/backup на хосте.

Пример восстановления тома из бэкапа

Восстановление данных в том

Создайте контейнер, монтирующий том и директорию с бэкапом, и используйте утилиту tar для извлечения данных:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf 
/backup/my_volume_backup.tar.gz -C /data

В этом примере данные из архива my_volume_backup.tar.gz извлекаются в том my_volume.

4.3 Использование утилиты tar для бэкапов

Утилита tar является мощным инструментом для создания бэкапов и восстановления данных. Она может быть использована как внутри контейнеров, так и на хостовой системе.

Пример создания бэкапа данных внутри контейнера

Запустите контейнер с нужными данными и создайте архив с помощью tar:

Terminal

docker exec -t my_container tar czf /backup/my_container_backup.tar.gz -C /data .

В этом примере данные из директории /data внутри контейнера my_container архивируются в файлmy_container_backup.tar.gz.

Пример восстановления данных из архива

Запустите контейнер и используйте tar для извлечения данных из архива:

Terminal

docker exec -t my_container tar xzf /backup/my_container_backup.tar.gz -C /data

4.4 Бэкапы баз данных внутри контейнеров

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

Пример бэкапа базы данных PostgreSQL

Используйте утилиту pg_dump для создания бэкапа базы данных:

Terminal

docker exec -t my_postgres_container pg_dump -U myuser mydb > /path/to/backup/mydb_backup.sql

В этом примере база данных mydb экспортируется в файл mydb_backup.sql.

Пример восстановления базы данных PostgreSQL

Используйте утилиту psql для восстановления базы данных из бэкапа:

Terminal

cat /path/to/backup/mydb_backup.sql | docker exec -i my_postgres_container psql -U myuser mydb

4.5 Восстановление данных из бэкапов

Восстановление данных — это процесс извлечения данных из созданных ранее бэкапов.

Пример восстановления данных из бэкапа тома

Используйте команду docker run для извлечения данных в том:

Terminal

docker run --rm -v my_volume:/data -v /path/to/backup:/backup busybox tar xzf
/backup/my_volume_backup.tar.gz -C /data

Пример восстановления базы данных MySQL

Используйте утилиту mysqldump для создания бэкапа базы данных:

Terminal

docker exec my_mysql_container mysqldump -u myuser -p mypassword mydb >
/path/to/backup/mydb_backup.sql

Используйте утилиту mysql для восстановления базы данных:

Terminal

cat /path/to/backup/mydb_backup.sql | docker exec -i my_mysql_container mysql -u myuser -p
mypassword mydb
3
Задача
Модуль 2: Fullstack, 16 уровень, 3 лекция
Недоступна
Создание бэкапа тома
Создание бэкапа тома
3
Задача
Модуль 2: Fullstack, 16 уровень, 3 лекция
Недоступна
Восстановление данных в томе
Восстановление данных в томе
3
Задача
Модуль 2: Fullstack, 16 уровень, 3 лекция
Недоступна
Бэкап базы данных PostgreSQL
Бэкап базы данных PostgreSQL
3
Задача
Модуль 2: Fullstack, 16 уровень, 3 лекция
Недоступна
Автоматизация бэкапов томов
Автоматизация бэкапов томов
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ