Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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:|Обратно к инструкциям]] |