> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edisglobal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Резервное копирование и восстановление данных в Linux

> Копирование и восстановление данных Linux с tar, rsync, dd и rclone. Пошаговые инструкции для локальных и облачных резервных копий.

## Резервное копирование и восстановление данных в Linux

В этой статье описано резервное копирование и восстановление данных Linux с помощью `tar`, `rsync`, `dd` и облачных сервисов, таких как Google Drive и Amazon S3. Для каждого инструмента приведены процедуры создания и восстановления копий.

***

> [!NOTE]
>
> Храните копию за пределами этого VPS и проверяйте восстановление. Копирование файлов в другой каталог на том же виртуальном диске не защищает от стирания диска или удаления услуги. Остановите запись приложений или используйте метод, обеспечивающий согласованность данных. Для баз данных применяйте поддерживаемые ими средства выгрузки или резервного копирования.

## Резервное копирование с `tar`

Команда `tar` — один из самых распространённых инструментов копирования файлов и каталогов в Linux. Она позволяет сжать их и сохранить в архиве для последующего восстановления.

С помощью tar можно делать инкрементные копии, включая только файлы, изменённые после предыдущего копирования. Это экономит место и время.

Примечание: архивы tar не включают некоторые метаданные, например загрузочные записи.

Типичный пример — резервное копирование домашнего каталога.

### Создание копии

1. **Откройте терминал.**
2. Для копирования отдельной папки, например `/home/user/data`, выполните:

```bash Bash theme={"system"}
tar -cvpzf /path/to/backup/backup_file.tar.gz /home/user/data
```

Параметры:

* `-c`: создать новый архив.
* `-v`: подробно показывать операции.
* `-p`: сохранить права доступа.
* `-z`: сжать с помощью gzip.
* `-f`: указать имя файла архива.

***

## Восстановление с `tar`

Для восстановления данных из архива `.tar.gz` выполните:

```bash theme={"system"}
tar -xzvf backup.tar.gz -C /destination/directory
```

Сначала распакуйте архив в пустой тестовый каталог и проверьте результат. Распаковка может перезаписать одноимённые файлы назначения. Однако обычный архив не удаляет более новые файлы, отсутствующие в нём, поэтому это не точный откат системы. См. [руководство GNU tar](https://www.gnu.org/software/tar/manual/tar.html).

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

1. **Откройте терминал.**
2. Чтобы восстановить копию в заданный каталог, выполните:

```bash Bash theme={"system"}
tar -xvpzf /path/to/backup/backup_file.tar.gz -C /path/to/restore/
```

Параметры:

* `-x`: извлечь файлы из архива.
* `-v`: показывать подробности распаковки.
* `-p`: сохранить права доступа.
* `-z`: распаковать с помощью gzip.
* `-C`: указать каталог назначения.

***

## Резервное копирование с `rsync`

**rsync** — надёжный инструмент для синхронизации данных между каталогами и серверами. Его часто используют для резервного копирования файлов и каталогов с сохранением согласованности и целостности данных.

### Создание копии

1. **Откройте терминал.**
2. Для копирования данных из заданной папки выполните:

```bash Bash theme={"system"}
rsync -avz /path/to/source/ /path/to/backup/
```

Параметры:

1. `-a`: архивный режим; сохраняет атрибуты файлов, например права доступа и временные метки.
2. `-v`: подробно показывает ход работы.
3. `-z`: сжимает данные для ускорения передачи.

Для копирования с удалённого сервера:

```bash Bash theme={"system"}
rsync -avz user@remote_server:/path/to/source/ /path/to/backup/
```

***

## Восстановление с `rsync`

Для восстановления копии **rsync** используется та же структура команды.

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

1. **Откройте терминал.**
2. Чтобы восстановить данные из каталога копии, выполните:

```bash Bash theme={"system"}
rsync -avz /path/to/backup/ /path/to/restore/
```

Для восстановления с удалённого сервера:

```bash Bash theme={"system"}
rsync -avz user@remote_server:/path/to/backup/ /path/to/restore/
```

***

## Резервное копирование с `dd`

`dd` копирует необработанные блоки. Результат — **сырой образ диска**, а не загрузочный ISO-установщик или образ QCOW2.

> [!WARNING]
>
> Перед созданием образа системного диска или его восстановлением загрузитесь в среду восстановления. Исходные файловые системы должны быть размонтированы, чтобы не меняться во время копирования. Сохраняйте образ на отдельный диск или удалённое хранилище с достаточным свободным местом, никогда не на исходный диск. При восстановлении `of=` указывает диск, который будет полностью перезаписан.

Перед любой из команд выполните `lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT` и точно определите источник, назначение и их размеры. `/dev/sda` ниже — пример: VPS EDIS может использовать `/dev/vda` или другое имя. Диск назначения должен быть не меньше исходного.

### Создание копии

1. **Откройте терминал.**
2. Для создания копии диска выполните:

```bash Bash theme={"system"}
sudo dd if=/dev/sda of=/path/to/backup/backup.img bs=4M status=progress conv=fsync
```

Параметры:

1. `if`: входной файл — исходный диск или раздел.
2. `of`: выходной файл — место хранения копии.
3. `bs`: размер блока (в данном случае 64K).

***

### Восстановление с `dd`

Для восстановления образа диска или раздела, созданного **dd**, используйте следующую команду. Она заменит все данные на целевом диске содержимым образа.

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

1. **Откройте терминал.**
2. Для восстановления на целевой диск выполните:

```bash Bash theme={"system"}
sudo dd if=/path/to/backup/backup.img of=/dev/sda bs=4M status=progress conv=fsync
```

***

## Облачное резервное копирование с `rclone`

Для хранения копий в Google Drive, Amazon S3 или Dropbox можно использовать **rclone**. Он поддерживает копирование и восстановление данных в этих сервисах, позволяя хранить резервные копии вне сервера. Rclone синхронизирует и копирует файлы между локальной системой и удалёнными хранилищами, а также поддерживает шифрование копий. При настройке облачного копирования обязательно укажите правильное расположение данных.

Если предпочитаете графический интерфейс, доступны программы вроде Deja Dup. Deja Dup — графическая оболочка Duplicity — поддерживает инкрементные и зашифрованные копии и интеграцию с облачными хранилищами.

### Создание копии

1. **Откройте терминал.**
2. Для копирования в облачный сервис выполните:

```bash Bash theme={"system"}
rclone copy /path/to/data remote:backup_folder
```

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

1. **Откройте терминал.**
2. Для восстановления из облачного сервиса выполните:

```bash Bash theme={"system"}
rclone copy remote:backup_folder /path/to/restore/
```

Параметры блочного копирования описаны в [справке GNU dd](https://man7.org/linux/man-pages/man1/dd.1.html).


## Related topics

- [Резервные копии](https://docs.edisglobal.com/ru/getting-started/backups.md)
- [Повседневные задачи VPS: ОС, IP, оплата, ресурсы и резервные копии](https://docs.edisglobal.com/ru/getting-started/common-vps-tasks.md)
- [Размещение коммерческого VPN-сервиса](https://docs.edisglobal.com/ru/commercial-vpn-hosting.md)
- [Проверьте входящие письма](https://docs.edisglobal.com/ru/getting-started/check-your-inbox.md)
- [Стартовый пакет партнёра EDIS Global](https://docs.edisglobal.com/ru/partner-starter-pack.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.