---
url: https://next.zammad.org/sr/tutorials/backup-restore.md
---

# Резервна копија и њено враћање

Zammad у инсталацијама путем пакета долази са скриптама за израду и враћање
резервних копија које можете користити.

::: warning
Ове скрипте не долазе са икаквом гаранцијом и можда неће функционисати у вашем
конкретном случају употребе. То зависи од подешавања и врсте инсталације ваше
инстанце.

Увек треба редовно да тестирате и проверавате функционалност! Ако функционалност
или обим скрипте не одговара вашим случајевима, слободно их копирајте
на независну локацију и прилагодите скрипте по потреби.
:::

Постоје нека ограничења која треба да знате:

* Ове скрипте не функционишу у инсталацијама заснованим на контејнерима.
* Функционишу само за PostgreSQL инсталације.
* Резервна копија је увек потпуни испис (без инкременталне резервне копије).
* Делимична израда и враћање резервне копије (нпр. само одређени подаци као
  што су тикети, корисници) није могућа.
* Промена система базе података није могућа.
* Системска подешавања (као што су променљиве окружења) се не чувају у
  резервној копији.
* Враћање на старију верзију Zammad-а није могуће.
* Не враћајте датотеке резервних копија из прилагођених скрипти помоћу
  скрипти које обезбеђује Zammad. То може изазвати проблеме.

## Основе

Скрипте се налазе у `/opt/zammad/contrib/backup`. Релевантне су следеће
датотеке:

* Датотека подешавања резервне копије: `config.dist`
* Скрипта за израду резервне копије ваших података: `zammad_backup.sh`
* Скрипта за враћање ваших података: `zammad_restore.sh`

Да бисте израдили резервну копију на основу подразумеваног подешавања,
пратите кораке испод:

1. Копирајте датотеку `config.dist` у `config`.
2. Промените подразумеване параметре у датотеци подешавања ако је
   потребно. За детаље погледајте [Подешавање резервне
   копије](#backup-configuration).
3. Зауставите Zammad `systemctl stop zammad`
4. Извршите `/opt/zammad/contrib/backup/zammad_backup.sh` (као корисник
   `root` или `zammad`)

## Подешавања

Детаље о параметрима подешавања са подразумеваним вредностима можете наћи
испод.

`BACKUP_DIR`&#x20;
: Локација на коју скрипта записује датотеке резервних копија. Директоријум ће
бити креиран ако не постоји. Обезбедите довољно простора јер
скрипта записује потпуне исписе.

`HOLD_DAYS`&#x20;
: Одредите колико дана скрипта за резервне копије треба да чува старе копије. Ова вредност
садржи додатних 60 минута (нпр. 10 дана плус 1 сат) из безбедносних
разлога. Старе резервне копије се уклањају пре израде нове.

Ејемплос:
\- `1` цонсерварá цопиас де сегуридад де лас úлтимас 25 хорас
\- `-1` елиминарá тодас лас цопиас де сегуридад диспониблес (excepto ла нуева)

`FULL_FS_DUMP`&#x20;
:   - `yes`: ла цопиа де сегуридад incluye тамбиéн лос арцхивос де ла аплицациóн.
\- `no`: ла цопиа де сегуридад соло incluye датос дел усуарио.

Ен cualquier цасо, incluye ла басе де датос де Zammad y лос арцхивос адјунтос, си естос се
алмаценарон ен ел система де арцхивос. Ен цасо де дуда, естаблéзцало ен но.

`DEBUG`&#x20;
: Естаблецер еста опциóн ен `yes` мострарá менсајес де депурациóн úтилес.
::: warning
¡Еста опциóн подрíа деволвер информациóн сенсибле а ла салида естáндар! Но
утилице еста опциóн ен енторнос де продуцциóн о асегúресе де десацтиварла деспуéс
де лас пруебас.
:::

## Рестаурар цопиас де сегуридад

### Важне информације

Леа атентаменте ла сигуиенте информациóн антес де цомензар а рестаурар сус
датос.

* Еста сецциóн **но** трата собре **миграр де ун сервидор а отро**. Пуеде
  енцонтрар инструцционес ал респецто ен ла [пáгина Миграр
  Zammad](migrate-host).
* Еста гуíа асуме уна версиóн де Zammad цомплетаменте инсталада
* Тамбиéн асуме que рестаурарá Zammad ен ел мисмо сервидор y ла мисма
  версиóн де Zammad
* Ел процесо де рестаурациóн детиене y реинициа Zammad. Пор ло танто, дебе
  ејецутар ел сцрипт де рестаурациóн цон лос пермисос адецуадос (пор
  ејемпло, цомо роот).
* ¡Лас инсталационес басадас ен PostgreSQL елиминарáн y волверáн а цреар ла
  басе де датос!
* Се requiere ал менос ел добле дел тамаñо де ла инстанциа де Zammad
  респалдада ен алмаценамиенто либре. Си соло тиене ел волцадо, ун фацтор де
  3 подрíа сер ун буен нúмеро.

::: tip
Си су есценарио ес диференте ал десцрито антериорменте, цонсулте ла
[Zammad Community](https://community.zammad.org/c/trouble-running-zammad-this-is-your-place/5){target=\_blank}
о цонсидере лас
[опционес де сопорте де паго](https://zammad.com/en/services/professional-services){target=\_blank}.
:::

### Цопиар арцхивос де цопиа де сегуридад а уна убицациóн адецуада

Асегúресе де que ел усуарио que утилиза пара ла рестаурациóн тенга пермисо
пара леер лос арцхивос де цопиа де сегуридад y есцрибир ен `/opt/zammad/`.

Ла цопиа де сегуридад де Zammad цонста де дос арцхивос. Се номбран де ла
сигуиенте манера:

```plain
<timestamp>_zammad_db.psql.gz
<timestamp>_zammad_files.tar.gz
```

Тамбиéн hay дос енлацес симбóлицос ен су дирецторио де цопиа де сегуридад
que апунтан а ла úлтима цопиа цреада:

```plain
latest_zammad_db.psql.gz
latest_zammad_files.tar.gz
```

Цóпиелос а уна убицациóн адецуада аццесибле пара ел усуарио que ејецута ел
сцрипт де рестаурациóн.

### Цонфигурар сцрипт де цопиа де сегуридад

Пара уна нуева инсталациóн, есто ес облигаторио. Ал менос дебе пропорционар
ун дирецторио донде се алмаценен сус цопиас де сегуридад. Цонсулте
[Цонфигурациóн де цопиа де сегуридад](#backup-configuration) пара мáс
информациóн.

### Лимпиар ла царпета де алмаценамиенто

Ен цасо де рестаурар ен ун енторно де продуцциóн цон алмаценамиенто ен
система де арцхивос ацтивадо, дебе пургар ел цонтенидо дел дирецторио
`/opt/zammad/storage/` дентро дел волумен. Ел процесо де рестаурациóн соло
агрега/собресцрибе арцхивос аллí, но се реализарá нингуна лимпиеза.

### Резервна копија и њено враћање

Тенга ен цуента que рестаурар цопиас де сегуридад пуеде собресцрибир су `database.yml`. Пуеде
верифицарло ревисандо ел арцхиво `[...]_zammad_files.tar.gz`. Си existe
ун `database.yml` ен ел дирецторио *цонфиг > датабасе*, асегúресе де гуардар ла
версиóн оригинал **антес де рестаурар**.

Ла рестаурациóн фунциона де дос формас посиблес, депендиендо де qué тан
интерацтиво десеа сер:

:::: tabs

\=== Рестаурациóн интерацтива (рецомендада)
Ејецуте ел сцрипт:

```sh
/opt/zammad/contrib/backup/zammad_restore.sh
```

Пропорционе ла информациóн солицитада ал сцрипт y еспере а que ел процесо де рестаурациóн
тéрмине. Депендиендо дел тамаñо де су цопиа де сегуридад y ел рендимиенто дел сервидор,
есто подрíа тардар ун тиемпо.

\=== Рестаурациóн но интерацтива

::: warning
¡Соло утилице ла сигуиенте опциóн си сабе ло que естá хациендо! Ел сигуиенте
цомандо собресцрибирá лос датос existentes син мáс адвертенциас!
:::
Ал ејецутарсе цон ун аргументо де марца де тиемпо (que цоинцида цон ел номбре дел арцхиво де цопиа),
Zammad процедерá инмедиатаменте а рестаурар ла цопиа еспецифицада.

```sh
/opt/zammad/contrib/backup/zammad_restore.sh 20170507121848
```

::::

Ел ресултадо деберíа версе асí:

```ansi
# Zammad restore started - Fri Jan 21 17:54:13 CET 2022!

The restore will delete your current database!
Be sure to have a backup available!

Please ensure to have twice the storage of the uncompressed backup size!

Note that the restoration USUALLY requires root permissions as services are stopped!

Enter 'yes' if you want to proceed!
Restore?: yes
Enter file date to restore:
20220120124714
20220121175344
File date: 20220121175344
Enter db date to restore:
20220120124714
20220121175344
DB date: 20220121175344
# Stopping Zammad
# Checking requirements
# ... Dropping current database zammad
Dropped database 'zammad'
# ... Creating database zammad for owner zammad
CREATE DATABASE
# Restoring PostgreSQL DB
# Restoring Files
# Ensuring correct file permissions ...
# Clearing Cache ...
# Starting Zammad

# Zammad restored successfully - Fri Jan 21 17:54:34 CET 2022!
```

### Додатни кораци

* Си цонфигурó алгúн ајусте де енторно, аплíquelos нуеваменте ахора.
* Си аúн но ло ха хецхо, [инстале
  Elasticsearch](/en/tutorials/install-elasticsearch) ахора.
* [Цонецте Elasticsearch цон Zammad y reconstruya су íндице де
  бúsqueda](/en/tutorials/connect-config-elasticsearch). Ла рецонструцциóн
  пуеде ејецутарсе цон сегуридад миентрас трабаја, перо цаусарá ун
  рендимиенто де бúsqueda деградадо y подрíа генерар датос но енцонтрадос
  темпоралменте.

## Резервна копија и њено враћање

Пуеде енцонтрар алгунос проблемас цомунес а цонтинуациóн. Си су проблема но
естá листадо, цонсулте ла [Zammad
Community](https://community.zammad.org/c/trouble-running-zammad-this-is-your-place/5){target=\_blank}
пара обтенер асистенциа тéцница.

### Цóдигос де салида

Нуестрос сцриптс де цопиа де сегуридад y рестаурациóн виенен цон цóдигос де
салида пара ayudarle а енцонтрар уна солуциóн. Син ембарго, но гарантизамос
ун манејо де еррорес цомплето.

Адемáс де лос цóдигос де салида, тамбиéн се девуелвен менсајес де еррор а ла
салида естáндар.

| Цóдиго | Десцрипциóн / Ситуациóн                                                                                                                                                                |
|------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `0`  | Ел сцрипт финализó цоррецтаменте (о ел еррор но се манеја).                                                                                                                        |
| `1`  | Ес ун еррор генерал. Се уса цон mayor фрецуенциа пара абортос дел сцрипт дебидо а информациóн инцоррецта пропорционада о информациóн фалтанте.                                                               |
| `2`  | Хубо ун еррор ал манејар ла басе де датос. Есто суеле оцуррир си су сервидор де басе де датос но цумпле цон лос requisitos дел сцрипт, лос датос де иницио де сесиóн сон инвáлидос о hay волцадос де басе де датос "ротос‟". |
| `3`  | Хубо проблемас цон лос пермисос де арцхивос / царпетас.                                                                                                                                      |

### Проблемас цомунес

#### Еррор де аутентицациóн пор цонтрасеñа / Еррор де аутентицациóн пеер

Есто индица que ла цонтрасеñа дел усуарио де су БД де Zammad ес диференте а
ла де су `database.yml` о que се естá цонтацтандо ал сервидор де басе де
датос инцоррецто.

Си су инстанциа де Zammad естá ен ејецуциóн, пуеде деберсе а ун ретроцесо а
ла conexióн пор соцкет, мотиво пор ел цуал но се дио цуента.

**¿Qué хацер?**

Асегúресе де que лас цреденциалес дел усуарио пропорционадас сеан
цоррецтас. Тамбиéн пуеде цонсидерар усар ел сцрипт `reset_db_password`, que
енцонтрарá ен ел дирецторио де цопиа де сегуридад.

#### Еррор де аутентицациóн Ident пара ел усуарио

Есто индица que су сервидор де басе де датос requiere аутентицациóн
`ident`. Есе мéтодо де аутентицациóн но естá сопортадо пор нуестрос сцриптс.

**¿Qué хацер?**

Verifique ел `pg_hba.conf` де су сервидор PostgreSQL y ајúстело си ес
нецесарио.

Пор ло генерал, ла аутентицациóн се пуеде пермитир де ла сигуиенте манера:

```sh
# ОВО ЈЕ ПРИМЕР И МОЖДА НЕ ЋЕ ПАСТИ У ВАШЕ ОКРУЖЕЊЕ
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5
```

Молимо вас да се за ово обратите званичној [документацији
PostgreSQL-a](https://www.postgresql.org/docs/){target=\_blank}, јер ово није
у оквиру наше документације.

#### УПОЗОРЕЊЕ: Изгледа да немате никакве прилоге у фајл систему

Ово указује на то да ваша инстанца тренутно не чува прилоге на фајл систем.

Ово упозорење ће бити приказано једном пре креирања празног директоријума да
би процес бекапа успешно наставио.

Проверите и прилагодите своје
[подешавања складиштења преко конзоле](/en/reference/rails-commands#storage-provider-setting)
или у административном интерфејсу Zammad-а под *Подешавања > Систем > Складиште*.

## Помоћни скрипт

### Упозорење

Скрипта може потенцијално бити деструктивна! **Никада** немојте покретати
скрипте чије последице не схватате.

Имајте на уму да покрећете ове скрипте на своју одговорност.

### Помоћни алат за базу података: Постави/Ресетуј лозинку

#### Ограничења

* Овај скрипт ради само за PostgreSQL инсталације.
* Подржани су само локални сервери базе података (скрипт мења корисника).
* Овај скрипт захтева да се покрене као `root` или сличан привилеговани
  корисник.
* Имајте на уму да ће скрипт аутоматски зауставити и покренути Zammad!

#### Опсези

Опсег овог скрипта је углавном инсталација пакета и посебно CentOS и SUSE
оперативни системи. Може радити и на инсталацијама из изворног кода /
развоју, али то веома зависи од вашег окружења и није у опсегу.

#### Функционалност

Скрипт ће аутоматски извршити следеће радње за вас, у зависности од
ситуације. Захтеваће вашу потврду пре извршавања радњи.

* Ако `database.yml` садржи празну лозинку, нова лозинка ће бити генерисана
  и постављена за корисника базе података Zammad-а. Такође ће бити сачувана
  у конфигурационом фајлу.
* Ако `database.yml` садржи лозинку, она ће бити коришћена за постављање
  лозинке корисника базе података Zammad-а.

#### Употреба

Покрените скрипт командом испод и пратите упутства. Није потребна специфична
конфигурација.

```sh
/opt/zammad/contrib/backup/zammad_db_user_helper.sh
```

У случају грешака, скрипт ће покушати да врати Zammad у рад пре изласка.
