Резервное копирование и восстановление данных в Linux
В этой статье описано резервное копирование и восстановление данных Linux с помощьюtar, rsync, dd и облачных сервисов, таких как Google Drive и Amazon S3. Для каждого инструмента приведены процедуры создания и восстановления копий.
Храните копию за пределами этого VPS и проверяйте восстановление. Копирование файлов в другой каталог на том же виртуальном диске не защищает от стирания диска или удаления услуги. Остановите запись приложений или используйте метод, обеспечивающий согласованность данных. Для баз данных применяйте поддерживаемые ими средства выгрузки или резервного копирования.
- Резервное копирование с
tar
Команда tartar — один из самых распространённых инструментов копирования файлов и каталогов в Linux. Она позволяет сжать их и сохранить в архиве для последующего восстановления.
С помощью tar можно делать инкрементные копии, включая только файлы, изменённые после предыдущего копирования. Это экономит место и время.
Примечание: архивы tar не включают некоторые метаданные, например загрузочные записи.
Типичный пример — резервное копирование домашнего каталога.
Создание копии
- Откройте терминал.
- Для копирования отдельной папки, например
/home/user/data, выполните:
Bash
-c: создать новый архив.-v: подробно показывать операции.-p: сохранить права доступа.-z: сжать с помощью gzip.-f: указать имя файла архива.
Восстановление с tar
Для восстановления данных из архива .tar.gz выполните:
Восстановление данных
- Откройте терминал.
- Чтобы восстановить копию в заданный каталог, выполните:
Bash
-x: извлечь файлы из архива.-v: показывать подробности распаковки.-p: сохранить права доступа.-z: распаковать с помощью gzip.-C: указать каталог назначения.
- Резервное копирование с
rsync
rsync — надёжный инструмент для синхронизации данных между каталогами и серверами. Его часто используют для резервного копирования файлов и каталогов с сохранением согласованности и целостности данных.
rsyncСоздание копии
- Откройте терминал.
- Для копирования данных из заданной папки выполните:
Bash
-a: архивный режим; сохраняет атрибуты файлов, например права доступа и временные метки.-v: подробно показывает ход работы.-z: сжимает данные для ускорения передачи.
Bash
Восстановление с rsync
Для восстановления копии rsync используется та же структура команды.
Восстановление данных
- Откройте терминал.
- Чтобы восстановить данные из каталога копии, выполните:
Bash
Bash
- Резервное копирование с
dd
dddd копирует необработанные блоки. Результат — сырой образ диска, а не загрузочный ISO-установщик или образ QCOW2.
Перед любой из команд выполните lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT и точно определите источник, назначение и их размеры. /dev/sda ниже — пример: VPS EDIS может использовать /dev/vda или другое имя. Диск назначения должен быть не меньше исходного.
Создание копии
- Откройте терминал.
- Для создания копии диска выполните:
Bash
if: входной файл — исходный диск или раздел.of: выходной файл — место хранения копии.bs: размер блока (в данном случае 64K).
Восстановление с dd
Для восстановления образа диска или раздела, созданного dd, используйте следующую команду. Она заменит все данные на целевом диске содержимым образа.
Восстановление данных
- Откройте терминал.
- Для восстановления на целевой диск выполните:
Bash
- Облачное резервное копирование с
rclone
Для хранения копий в Google Drive, Amazon S3 или Dropbox можно использовать rclone. Он поддерживает копирование и восстановление данных в этих сервисах, позволяя хранить резервные копии вне сервера. Rclone синхронизирует и копирует файлы между локальной системой и удалёнными хранилищами, а также поддерживает шифрование копий. При настройке облачного копирования обязательно укажите правильное расположение данных.
Если предпочитаете графический интерфейс, доступны программы вроде Deja Dup. Deja Dup — графическая оболочка Duplicity — поддерживает инкрементные и зашифрованные копии и интеграцию с облачными хранилищами.
rcloneСоздание копии
- Откройте терминал.
- Для копирования в облачный сервис выполните:
Bash
Восстановление данных
- Откройте терминал.
- Для восстановления из облачного сервиса выполните:
Bash