# Перенос трекера с сохранением данных
# В каком случае выполняется перенос трекера
- Частые критические неисправности в работе текущего сервера, на котором установлен трекер. 
- Неподходящий функционал и система ценообразования. 
- Недостаточно места на диске и отсутствие у текущего хостера возможности увеличения. 
- Необходимость сменить дата-центр сервера и сохранить статистику. 
- Необходим дубль или копия Keitaro для масштабирования связок или тестирования новых ГЕО. 
# Актуальный метод выполнения переноса трекера 11 версии и выше на новый сервер
TIP
Убедитесь, что новый сервер не уступает текущему по характеристикам.
Все команды выполняются на сервере, на который требуется выполнить перенос.
- Залогиниться на старый сервер по SSH. 
- Запустить команду создания дампа: 
kctl backups create
- Когда дамп создан - запросить имя дампа командой:
ls -1 /var/lib/kctl-backups/common/
Скопировать имя дампа и перейти по ssh к новому серверу для выполнения дальнейших действий.
- На новом сервере запустить команду установки трекера:
curl keitaro.io/kctl.sh | bash -s -- install
- Создать директорию commonдля дампа:
mkdir -p /var/lib/kctl-backups/common/
Процессы внутри screen не прерываются при потере соединения с сервером.
- Запустить синхронизацию директорий commonстарого и нового серверов:
rsync -avzP -e "ssh -p 22" root@OLD_IP:/var/lib/kctl-backups/common/DUMP_NAME/ /var/lib/kctl-backups/common/DUMP_NAME/
Где:
- 22 - номер порта старого сервера,
- OLD_IP - заменить на IP старого сервера,
- DUMP_NAME - имя дампа со старого сервера, которое брали в шаге 3.
Пример:
rsync -avzP -e "ssh -p 22" root@77.71.136.233:/var/lib/kctl-backups/common/2025-08-01-13-35-34/ /var/lib/kctl-backups/common/2025-08-01-13-35-34/
При запросе - ввести пароль от старого сервера в терминал.
- Восстановить трекер из дампа командой:
kctl backups restore
Статистика и настройки, в т.ч. локальные лендинги, офферы и пользовательские списки ботов и user agent переносятся автоматически.
- Перейдите в личный кабинет на сайте keitaro.io, раздел Лицензии. Нажмите Unlink для ключа лицензии, который хотите привязать к новому трекеру. Логиньтесь в новый трекер.
WARNING
Не создавайте в новом трекере кампании, лендинги, партнерские сети и другие сущности до окончания процесса переноса статистики. По окончании работы скрипта переноса, в новом трекере останутся исключительно данные со старого трекера.
# Создание архивной копии трекера локально
Создание архивной копии трекера локально на текущем сервере. Включая данные MySQL, данные ClickHouse, системные настройки, локальные лендинги, salt, Postback key, сертификаты, фильтры, кастомные списки ботов и т.д.
- Запустить screen
screen
Процессы, выполняемые внутри screen, не прерываются при разрыве соединения с сервером.
- Запустить команду создания дампа
kctl backups create
WARNING
Во время создания дампа важно обращать внимание на вывод терминала — если в процессе возникали ошибки, целостность дампа, возможно, не сохранена. В последствии восстановить трекер в полном объеме из такого дампа возможности не будет.
Данные сохраняются в директории  /var/lib/kctl-backups/common/ и доступны для скачивания.
Создание нового дампа не стирает предыдущий. Имя дампа задается от даты создания.
# Восстановление трекера из локальной архивной копии
Восстановление из локальной архивной копии на сервере. Включая данные MySQL, данные ClickHouse, системные настройки, локальные лендинги, salt, Postback key, сертификаты, фильтры, кастомные списки ботов и т.д.
- Установите трекер на сервер и загрузите дамп в директорию - /var/lib/kctl-backups/common/. Если директории нет - необходимо создать.
- Выполните команду: 
kctl backups restore
# Действия после переноса трекера
- После успешного переноса необходимо привязать ключ лицензии на новый сервер. Отвяжите ключ лицензии в личном кабинете на сайте keitaro.io по инструкции. 
- Далее, чтобы трафик начал направляться на новый сервер, необходимо обновить DNS-записи всех доменов, изменив A-запись на IP-адрес нового сервера. Изменения вступают в силу в течение 24 часов. 
# FAQ
Как перенести трекер 10 версии?
Используйте инструкцию для переноса.
Как восстановить из dump.gz (dump.sql)?
Для восстановления трекера из дампа БД необходимо использовать команду kctl-transfer с действием restore-from-sql local, например:
SALT=test kctl-transfers restore-from-sql local path/to/dump.gz
При создании дампа в phpmyadmin поставьте английский язык панели.
Что обозначает **Could not detect TRACKER_POSTBACK_KEY** при переносе?
Это диагностическое сообщение указывает на отсутствие пользовательского postback key в конфигурации. Cообщение стоит игнорировать.
