# Перенос трекера с сохранением данных

# В каком случае выполняется перенос трекера

  1. Частые критические неисправности в работе текущего сервера, на котором установлен трекер.

  2. Неподходящий функционал и система ценообразования.

  3. Недостаточно места на диске и отсутствие у текущего хостера возможности увеличения.

  4. Необходимость сменить дата-центр сервера и сохранить статистику.

  5. Необходим дубль или копия Keitaro для масштабирования связок или тестирования новых ГЕО.

# Актуальный метод выполнения переноса трекера на новый сервер

Все команды выполняются на сервере, на который требуется выполнить перенос.

  1. Залогиниться на сервер по SSH.

  2. Запустить команду установки трекера

curl keitaro.io/kctl.sh | bash -s -- install
1
  1. Запустить screen
screen
1

Процессы, выполняемые внутри screen, не прерываются при разрыве соединения с сервером.

  1. Запустить перенос данных со старого сервера на новый командой
[SSH_PASSWORD=somepass] kctl transfers copy-from <OLD-SERVER-IP>
1

Где somepass - это ssh пароль для логина на сервер, с которого необходимо выполнить перенос, OLD-SERVER-IP - IP-адрес старого сервера

Пример:

SSH_PASSWORD=123123 kctl transfers copy-from 111.12.19.19
1

При необходимости подключения с нестандартным портом, используйте команду:

SSH_PORT=port SSH_PASSWORD=password kctl transfers copy-from s.e.r.v.e.r.i.p
1

Пример:

SSH_PORT=3333 SSH_PASSWORD=123123 kctl transfers copy-from 111.12.19.19
1

Если доступ на сервер, с которого необходимо выполнить перенос, возможен исключительно по ключу — загрузить ключ на новый сервер и запустить скрипт

SSH_PATH_TO_KEY="/path/to/my/ssh.private.key" kctl transfer copy-from OLD_SERVER_IP
1

Статистика и настройки, в т.ч. локальные лендинги, офферы и пользовательские списки ботов и user agent переносятся автоматически.

  1. Перейдите в личный кабинет на сайте keitaro.io, раздел Лицензии. Нажмите Unlink для ключа лицензии, который хотите привязать к новому трекеру. Логиньтесь в новый трекер.

WARNING

Не создавайте в новом трекере кампании, лендинги, партнерские сети и другие сущности до окончания процесса переноса статистики. По окончании работы скрипта переноса, в новом трекере останутся исключительно данные со старого трекера.

TIP

Дождитесь завершения работы скрипта переноса статистики kctl transfer и уже после приступайте к работе с новым трекером.

# Создание архивной копии трекера локально

Создание архивной копии трекера локально на текущем сервере. Включая данные MySQL, данные ClickHouse, системные настройки, локальные лендинги, salt, Postback key, сертификаты, фильтры, кастомные списки ботов и т.д.

  1. Запустить screen
screen
1

Процессы, выполняемые внутри screen, не прерываются при разрыве соединения с сервером.

  1. Запустить команду создания дампа
kctl transfers dump
1

WARNING

Во время создания дампа важно обращать внимание на вывод терминала — если в процессе возникали ошибки, целостность дампа, возможно, не сохранена. В последствии восстановить трекер в полном объеме из такого дампа возможности не будет.

Данные сохраняются в директории /var/lib/kctl-transfers и доступны для скачивания.

# FAQ

Как восстановить из dump.gz (dump.sql)?

Для восстановления трекера из дампа БД необходимо использовать команду kctl-transfer с действием restore-from-sql local, например:

SALT=test kctl-transfers restore-from-sql local path/to/dump.gz
1

При создании дампа в phpmyadmin поставьте английский язык панели.

# Восстановление трекера из локальной архивной копии

Восстановление из локальной архивной копии на сервере. Включая данные MySQL, данные ClickHouse, системные настройки, локальные лендинги, salt, Postback key, сертификаты, фильтры, кастомные списки ботов и т.д.

kctl transfers restore
1

Данные берутся из директории /var/lib/kctl-transfers.

# Если Метод установки не Approved

  1. Создать SQL дамп базы на старом сервере
mysqldump keitaro | gzip > dump.sql.gz
1
  1. Cкопировать архив SQL дампа базы на новый сервер.

  2. Сохранить значения SALT и POSTBACK_KEY из var/www/keitaro/application/config/config.ini.php старого сервера

  3. Запустить на новом  сервере

SALT=yoursalt POSTBACK_KEY=yourkey kctl transfers restore-from-sql local <PATH_TO_SQL_DUMP>
1
  1. Скопировать на новый сервер со старого сервера папку с лендингами var/www/keitaro/lander/