Initial commit

This commit is contained in:
wn6
2026-05-31 13:41:47 +07:00
commit c70d57f9ee
3 changed files with 164 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
# Bitrix Backup Download & Extract
Утилиты для скачивания и извлечения резервных копий Bitrix, разбитых на части на HTTP-сервере.
## Описание
Резервные копии Bitrix иногда хранятся на веб-сервере в виде одного файла (или набора `.tar.gz`-архивов), разбитого на части с числовыми суффиксами:
```
backup.tar.gz
backup.tar.gz.1
backup.tar.gz.2
...
```
Этот репозиторий содержит два скрипта:
- **download_backup.sh** — скачивает базовый файл и все его части с сервера
- **extract_backup.sh** — собирает части в один файл и распаковывает архив
## Требования
- `bash`
- `curl`
- `tar`
## Использование
### 1. Скачивание
```bash
./download_backup.sh <base_url> [output_dir]
```
**Параметры:**
- `base_url` — полный URL до базового файла (без числового суффикса)
- `output_dir` — директория для сохранения (по умолчанию: текущая)
**Пример:**
```bash
./download_backup.sh https://example.com/backup.tar.gz ./downloads
```
Скрипт скачает `backup.tar.gz`, затем проверит наличие `backup.tar.gz.1`, `backup.tar.gz.2` и т.д. пока сервер не вернёт код, отличный от 200.
### 2. Распаковка
```bash
./extract_backup.sh <input_dir> [output_dir]
```
**Параметры:**
- `input_dir` — директория с частями `.tar.gz`
- `output_dir` — директория для извлечения (по умолчанию: текущая)
**Пример:**
```bash
./extract_backup.sh ./downloads ./restored
```
Скрипт:
1. Определяет префикс файла (например, `backup.tar.gz`) по первому найденному `.tar.gz` файлу
2. Собирает части в правильном порядке во временный файл
3. Распаковывает архив через `tar -xzf`
4. Удаляет временный файл при успешном завершении
## Лицензия
MIT