Инструменты пользователя

Инструменты сайта


faq:reinstallation

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
faq:reinstallation [2019/07/15 12:09]
Портнов Алексей [Перенос Askozia PBX 6 на другой сервер]
faq:reinstallation [2024/05/08 21:06] (текущий)
Портнов Алексей
Строка 1: Строка 1:
-====== Перенос ​Askozia PBX на другой сервер ======+====== Перенос ​MikoPBX ​на другой сервер ======
  
 [[faq:​|Обратно к инструкциям]] [[faq:​|Обратно к инструкциям]]
Строка 5: Строка 5:
 ===== Вариант №1 ===== ===== Вариант №1 =====
  
-  - Выполните **полный бекап** Вашей текущей ​Askozia PBX по [[:​backup#​создание_архивной_копии|инструкции]]. \\ \\ +  - Выполните **полный бекап** Вашей текущей ​MikoPBX ​по [[:module-backup#​создание_архивной_копии|инструкции]]. \\ \\ 
   - Реализуйте сброс всех активных **настроек лицензирования** с текущей АТС по [[:​licensing#​сброс_и_установка_активных_привязок_лицензии|инструкции]]. \\ \\    - Реализуйте сброс всех активных **настроек лицензирования** с текущей АТС по [[:​licensing#​сброс_и_установка_активных_привязок_лицензии|инструкции]]. \\ \\ 
-  - Установите ​Askozia PBX на **новый сервер**. Выполните действия,​ указанные в [[:​quickstart_lancher|инструкции]]:​ [[:​quickstart_lancher#​шаг_1_установка_askozia_pbx|Шаг 1]] и[[:​quickstart_lancher#​шаг_2_подключение_диска_для_хранения_записей_разговоров| Шаг 2]].\\ \\  +  - Установите ​MikoPBX ​на **новый сервер**. Выполните действия,​ указанные в [[:​quickstart_lancher|инструкции]]:​ [[:​quickstart_lancher#​шаг_1_установка_askozia_pbx|Шаг 1]] и[[:​quickstart_lancher#​шаг_2_подключение_диска_для_хранения_записей_разговоров| Шаг 2]].\\ \\  
-  - **Загрузите** ранее выполненный бекап конфигурации ​Askozia PBX на новом сервере по [[:​backup#​восстановление_из_архива|инструкции]].\\ \\ +  - **Загрузите** ранее выполненный бекап конфигурации ​MikoPBX ​на новом сервере по [[:module-backup#​восстановление_из_архива|инструкции]].\\ \\ 
   - Выполните настройки лицензирования по [[:​licensing#​активация_регистрационного_номера|инструкции]]. ​   - Выполните настройки лицензирования по [[:​licensing#​активация_регистрационного_номера|инструкции]]. ​
  
Строка 16: Строка 16:
 **Если размер данных большой**,​ то имеет смысл сохранить резервную копию сразу на целевую машину. **Если размер данных большой**,​ то имеет смысл сохранить резервную копию сразу на целевую машину.
 Порядок действий:​ Порядок действий:​
-  - Устанавливаем ​Askozia ​на новый ПК +  - Устанавливаем ​MikoPBX ​на новый ПК 
-  - На основной ​Askozia ​настраиваем "​[[::​backup#​rezervnoe_kopirovanie_po_raspisaniju|Резервное копирование по расписанию]]"​+  - На основной ​MikoPBX ​настраиваем "[[::module-backup#​rezervnoe_kopirovanie_po_raspisaniju|Резервное копирование по расписанию]]"​
   - Подключение должно производиться по **SFTP**   - Подключение должно производиться по **SFTP**
   - **Имя пользователя** и **пароль** те, что используются для [[:​general-settings#​ssh|подключения по ssh]]   - **Имя пользователя** и **пароль** те, что используются для [[:​general-settings#​ssh|подключения по ssh]]
Строка 23: Строка 23:
   - Дождитесь завершения резервного копирования   - Дождитесь завершения резервного копирования
   - **Отключите основную машину**   - **Отключите основную машину**
-  - На целевой машине выполните [[:​backup#​vosstanovlenie_iz_arxiva|восстановление из резервной копии]]+  - На целевой машине выполните [[:module-backup#​vosstanovlenie_iz_arxiva|восстановление из резервной копии]] 
 + 
 +===== Вариант №3 ===== 
 + 
 +Скрипт для переноса данных вручную.  
 + 
 +<​code>​ 
 +
 +# MikoPBX - free phone system for small business 
 +# Copyright © 2017-2024 Alexey Portnov and Nikolay Beketov 
 +
 +# This program is free software: you can redistribute it and/or modify 
 +# it under the terms of the GNU General Public License as published by 
 +# the Free Software Foundation; either version 3 of the License, or 
 +# (at your option) any later version. 
 +
 +# This program is distributed in the hope that it will be useful, 
 +# but WITHOUT ANY WARRANTY; without even the implied warranty of 
 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ​ See the 
 +# GNU General Public License for more details. 
 +
 +# You should have received a copy of the GNU General Public License along with this program. 
 +# If not, see <​https://​www.gnu.org/​licenses/>​. 
 +
 + 
 +SSH_PORT=22;​ 
 +PBX_HOST='​root@PBX-ADDRESS-OR-IP';​ 
 +CONF_DB_FILE='/​cf/​conf/​mikopbx.db';​ 
 +STORAGE_PBX_DIR='/​storage/​usbdisk1/​mikopbx';​ 
 +SYNC_APP='​rsync';​ 
 +type "​$SYNC_APP"​ > /dev/null 2> /dev/null 
 +if [ "​$?"​ = '​1'​ ];then 
 +  SYNC_APP='​scp';​ 
 +fi; 
 + 
 +# TODO 
 +# Копирование SSH ключей,​ чтобы не вводить многократно пароль. 
 +#​rsaPubKey="​$HOME/​.ssh/​id_rsa.pub";​ 
 +#if [ ! -f "​$rsaPubKey"​ ];then 
 +#  dropbearkey -y -f /​etc/​dropbear/​dropbear_rsa_host_key | grep "​^ssh-rsa"​ > "​$rsaPubKey";​ 
 +#fi; 
 +#ssh "​$PBX_HOST"​ -p "​$SSH_PORT"​ "echo >> /​root/​.ssh/​authorized_keys && echo '$(cat "​$rsaPubKey"​)'​ >> /​root/​.ssh/​authorized_keys && nohup sh -c '​killall dropbear && /​usr/​sbin/​dropbear -p $SSH_PORT'​ 2>&1 &";​ 
 +#ssh "​$PBX_HOST"​ -p "​$SSH_PORT"​ '​sqlite3 /​cf/​conf/​mikopbx.db .tables';​ 
 + 
 +# Дамп. 
 +ssh "​$PBX_HOST"​ -p "​$SSH_PORT"​ "​sqlite3 $CONF_DB_FILE .dump > $STORAGE_PBX_DIR/​tmp/​mikopbx.db.dmp";​ 
 +# Копируем дамп на локальную машину. 
 +"​$SYNC_APP"​ "​$PBX_HOST":"​$STORAGE_PBX_DIR/​tmp/​mikopbx.db.dmp"​ "​$STORAGE_PBX_DIR/​tmp/​mikopbx.db.dmp"​ 
 +# Восстанавливаем базу данных из дампа. 
 +sqlite3 "​$STORAGE_PBX_DIR/​tmp/​mikopbx.db"​ < "​$STORAGE_PBX_DIR/​tmp/​mikopbx.db.dmp";​ 
 +# Перемещаем восстановленную базу данных. 
 +mv "​$STORAGE_PBX_DIR/​tmp/​mikopbx.db"​ "​$CONF_DB_FILE";​ 
 +# Чистим временные файлы. 
 +rm -rf "​$STORAGE_PBX_DIR/​tmp/​mikopbx.db";​ 
 +ssh "​$PBX_HOST"​ -p "​$SSH_PORT"​ "rm -rf $STORAGE_PBX_DIR/​tmp/​mikopbx.db";​ 
 + 
 +# Отключаем провайдеров на локальной машине. 
 +sqlite3 "​$CONF_DB_FILE"​ "​UPDATE m_Sip SET disabled='​1'​ WHERE type='​friend'"​ 
 + 
 +# Копируем медиа файлы с удаленной машины. 
 +"​$SYNC_APP"​ -r "​$PBX_HOST":"​$STORAGE_PBX_DIR"/​media/​* "​$STORAGE_PBX_DIR"/​media 
 +# Копируем дополнительные модули с удаленной машины. 
 +"​$SYNC_APP"​ -r "​$PBX_HOST":"​$STORAGE_PBX_DIR"/​custom_modules/​* "​$STORAGE_PBX_DIR"/​custom_modules 
 + 
 +# Копируем историю звонков. 
 +# Дамп. 
 +ssh "​$PBX_HOST"​ -p "​$SSH_PORT"​ "​sqlite3 $STORAGE_PBX_DIR/​astlogs/​asterisk/​cdr.db .dump > $STORAGE_PBX_DIR/​astlogs/​asterisk/​cdr.db.dmp";​ 
 +# Копируем дамп на локальную машину. 
 +"​$SYNC_APP"​ -r "​$PBX_HOST":"​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdr.db.dmp "​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdr.db.dmp;​ 
 +# Восстанавливаем базу данных из дампа. 
 +sqlite3 "​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdrdb.tmp < "​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdr.db.dmp;​ 
 +# Удаляем текущую базу данных истории звонков. 
 +rm -rf "​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdr.db*;​ 
 +# Перемещаем восстановленную базу данных. 
 +mv "​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdrdb.tmp "​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdr.db;​ 
 + 
 +# Чистим временные файлы. 
 +rm -rf "​$STORAGE_PBX_DIR"/​astlogs/​asterisk/​cdr.db.dmp;​ 
 +ssh "​$PBX_HOST"​ -p "​$SSH_PORT"​ "rm -rf $STORAGE_PBX_DIR/​astlogs/​asterisk/​cdr.db.dmp";​ 
 + 
 +# Обновление структуры баз данных sqlite3. 
 +php -r '​require_once "​Globals.php";​ use MikoPBX\Core\System\Upgrade\UpdateDatabase;​ $dbUpdater = new UpdateDatabase();​ $dbUpdater->​updateDatabaseStructure();'​ 
 + 
 +# Копирование записей разговоров. 
 +"​$SYNC_APP"​ -r "​$PBX_HOST":"​$STORAGE_PBX_DIR"/​astspool/​monitor "​$STORAGE_PBX_DIR"/​astspool/​monitor 
 +</​code>​ 
  
 [[faq:​|Обратно к инструкциям]] [[faq:​|Обратно к инструкциям]]
faq/reinstallation.1563192562.txt.gz · Последние изменения: 2019/07/15 12:09 — Портнов Алексей