# Перенос с помощью rsync

В данной статье будет разобран вариант переноса данных на новый хост с помощью rsync. Данный вариант - перенос с использованием генерируемого ключа для ssh-авторизации (предпочтительный). Этот способ является самым надёжным из представленных в разделе, поэтому и является рекомендуемым к использованию.

{% embed url="<https://vkvideo.ru/video-100268702_456239055>" %}

Схематично процесс переноса можно изобразить следующим образом:

<figure><img src="/files/lF775G2SK1UC8mQclTo4" alt=""><figcaption><p>Схема переноса данных</p></figcaption></figure>

## Создание файла для хранения скрипта и наполнение его содержимым <a href="#variant_3" id="variant_3"></a>

1. Для начала нам необходимо установить SSH соединение с **новой** MikoPBX. Прочитать как сделать это, можно в [этой статье](/mikopbx/faq/troubleshooting/connecting-to-a-pbx-using-ssh.md).

<figure><img src="/files/qwA7e0eHd2feBT01dsdS" alt=""><figcaption><p>Успешное SSH соединение с новой MikoPBX</p></figcaption></figure>

2. Далее переходим в консоль (**\[9] Console**). Первым делом необходимо создать директорию для хранения файла со скриптом. Используйте следующую команду:

```
mkdir -p /storage/usbdisk1/transfer
```

3. Перейдите в созданную директорию:

```
cd /storage/usbdisk1/transfer
```

4. Создадим файл "**transfer-rsync.sh**" для хранения скрипта:

```
touch transfer-rsync.sh
```

<figure><img src="/files/gVyIaDHap2b8r9bVkmg9" alt=""><figcaption><p>Выполнение команд для создания файла</p></figcaption></figure>

5. Далее необходимо заполнить файл содержимым (скриптом). Ознакомиться с ним Вы можете[ по ссылке](https://gist.github.com/excla1mmm/c9891306b459cac0c7ea3c785ab0936e).

```php
curl -o /storage/usbdisk1/transfer/transfer-rsync.sh https://gist.githubusercontent.com/excla1mmm/c9891306b459cac0c7ea3c785ab0936e/raw/ec57ab60ee48112b4a16635e7b47955e5a044513/transfer-rsync.sh
```

## Запуск и работа со скриптом

1. На данном этапе необходимо сделать файл исполняемым. Для этого используйте следующую команду:

```
chmod +x transfer-rsync.sh
```

2. Запустите скрипт, используя команду:

```
./transfer-rsync.sh
```

3. Для начала будет предложено ввести необходимые данные о вашей старой станции MikoPBX:

* IP-адрес вашей старой станции
* Имя для ssh-авторизации
* Порт для ssh-авторизации

<figure><img src="/files/wyVqt79AzNH2XGAIVtFF" alt=""><figcaption><p>Ввод необходимых данных</p></figcaption></figure>

4. Далее будет предложено сгенерировать новый ключ. В случае, если ранее вы этого не делали, введите "y" для подтверждения. Если ранее вы уже генерировали ключ для доступа ко второй MikoPBX - введите "n":

<figure><img src="/files/jxHVOEj2QnPtVu0jj6Cp" alt=""><figcaption><p>Генерация нового ключа</p></figcaption></figure>

5. Будет создан новый ключ. Вам необходимо скопировать его и вставить в web-Интерфейсе старой MikoPBX. Сделать это нужно в разделе "**Общие настройки**" -> "**SSH**" -> Поле "**SSH Authorized keys**"

<figure><img src="/files/eTLeTSUZz0yl9I1EN0im" alt=""><figcaption><p>Сгенерированный ключ ssh</p></figcaption></figure>

<figure><img src="/files/yDSq6e0rJNDTZldaj3Db" alt=""><figcaption><p>Вставленный ключ</p></figcaption></figure>

6. После того, как вы сохранили ключ на старой MikoPBX, подождите несколько секунд и нажмите любую клавишу для продолжения выполнения скрипта.

Будет произведен перенос всех данных на новый хост. Это может занять некоторое время.

{% hint style="danger" %}
После переноса обязательно проверяйте целостность всех данных, перед тем, как сбрасывать старую MikoPBX!
{% endhint %}

<figure><img src="/files/JT36uhwCmfEt29QO9NXU" alt=""><figcaption><p>Успешный перенос</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mikopbx.com/mikopbx/faq/setup/change-host/transfer-using-rsync.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
