Иногда возникает ситуация когда необходимо перенести данные баз данных с одного сервера CallBox на другой, к примеру при переносе IP АТС на более мощный сервер.Для осуществления данной процедуры нам потребуется root доступ к серверу IP АТС.Приступим.

  1. На первом сервере, с которого будем переносить  конфигурацию и базы данных mysql и psql

1.2   Перед началом копирования, остановим asterisk командой:

/etc/init.d/asteriskstop

1.3   Создадим архив с директорией содержащей файл AstDB (база данных Asterisk’а) и ряд подкаталогов:

tar czvf /tmp/var.tar.gz /var/lib/asterisk/

1.4   Создадим архив директории содержащей  конфигурационные файлы Asterisk’а

tar czvf /tmp/etc.tar.gz /etc/asterisk/

1.5   Снимем дамп баз данных MySQL

mysqldump -u USERNAME -p —databases ams asterisk asteriskcdrdb crm qstats sms users > /tmp/databases.sql


Если появляется следующая ошибка:

mysqldump: Couldn't execute 'show table status like 'city\_city'': Can't read dir of './crm/' (errno: 24) (1018)

Выполняем последовательно следующее:
В файле /etc/mysql/my.cnf  в конце ветки [mysqld] добавим следующие строчки:

open-files-limit = 2048
table_cache = 512

Далее в конце файла /etc/security/limits.conf добавим две строчки перед  фразой # End of file:

mysql soft nofile 4096
mysql hard nofile 8192

Перезагрузим демона MySQL:

/etc/init.d/mysql restart

1.6   Повторим пункт 1.5.
1.7   Снимем дамп базы данных PostgreSQL:

pg_dump -U USERNAME2 cel > /tmp/cel.sql

2.Переходим на второй сервер, где будут восстановлена конфигурация первого сервера:

2.1   На втором сервере, создадим соединение по FTP с первым:

sftp -P [порт ssh] [IPпервого сервера]

2.2   Перейдем в подкаталог:

cd /tmp/

2.3   Скачаем два архива и два файла с дампами баз данных в домашнюю директорию:

get databases.sql .

get cel.sql .

get etc.tar.gz .

get var.tar.gz .

Ctrl+D – этим сочетанием клавиш сбросим соединение с первым сервером:

2.4   Остановим asteriskна втором сервере:

/etc/init.d/asterisk stop

2.5   Разархивируем скачанные с первого сервера файлы:

tarxzvfvar.tar.gz

tarxzvfetc.tar.gz

2.6    Импортируем дамп базы данных MySQL:

mysql -u USERNAME -p < databases.sql

2.7   Зайдем в консоль управления Postgre:

psql -U USERNAME2 cel

2.8   Выполним следующие команды, удалим существующие таблицы:

\dt

DROP TABLE cdr;

DROP TABLE cel;

\q

2.9   Сделаем импорт базы данных Postgre

psql -U USERNAME2 cel < cel.sql