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

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

{% embed url="<https://rutube.ru/video/2946cc3eba823ab213d8337ce055e7ba/>" %}

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FF0qOG6PRydus5jcYR6Wv%2Fimage.png?alt=media&#x26;token=736e071a-ae68-4b76-934b-74e1d69dc253" alt=""><figcaption><p>Схема переноса данных</p></figcaption></figure>

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

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FjOCWSKCzVWJaf91iGH3H%2FsshConnection.png?alt=media&#x26;token=81ac95f7-076e-4a1b-a5c3-dfaa5e2b995f" 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="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FDuiaU5j53tsyZm10RCRQ%2FfirstPartOfCommands.png?alt=media&#x26;token=7c1f29a2-6e30-4983-8c08-01975b516ca3" 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="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FKZiqfhIqZhA1GOq4TbsF%2Fimage.png?alt=media&#x26;token=7f8092f5-8c6b-4cb7-abb7-2d9a23a4565f" alt=""><figcaption><p>Ввод необходимых данных</p></figcaption></figure>

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FLw4W3mikgouNritO7sxL%2Fimage.png?alt=media&#x26;token=273887b2-1f63-481d-b0af-6eb19b08399b" alt=""><figcaption><p>Генерация нового ключа</p></figcaption></figure>

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FRdZGvYWlx83hijn83Snr%2Fimage.png?alt=media&#x26;token=59c9c751-92ed-490d-8b22-d6f2c4f947ee" alt=""><figcaption><p>Сгенерированный ключ ssh</p></figcaption></figure>

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FZVHT89y8FwUO63THuCBN%2FSshAuthorizedKeysField.png?alt=media&#x26;token=1fd55e8a-0166-4c3e-910b-5bff557f5d8d" alt=""><figcaption><p>Вставленный ключ</p></figcaption></figure>

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

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

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2Fii3DtltUfXLETCyGeTyE%2FsuccessfulTransfer.png?alt=media&#x26;token=b91d0719-e3b1-459d-a9ca-7d29cd2847ba" alt=""><figcaption><p>Успешный перенос</p></figcaption></figure>
