Примерно каждые 5 сек в системном логе messages появляется ошибка.
Jan 17 23:21:21 daemon.err php.backend[18226]: PDOException: SQLSTATE[HY000]: General error: 11 database disk image is malformed in file /storage/usbdisk1/mikopbx/c
ustom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php on line 540
Jan 17 23:21:21 daemon.err php.backend[18226]: Stack trace:
Jan 17 23:21:21 daemon.err php.backend[18226]: 1. PDOException->() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php:540
Jan 17 23:21:21 daemon.err php.backend[18226]: 2. Phalcon\Mvc\Model->find() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php
:540
Jan 17 23:21:21 daemon.err php.backend[18226]: 3. Modules\ModuleBitrix24Integration\bin\ConnectorDb->deletePhoneContact() /storage/usbdisk1/mikopbx/custom_modules
/ModuleBitrix24Integration/bin/ConnectorDb.php:591
Jan 17 23:21:21 daemon.err php.backend[18226]: 4. Modules\ModuleBitrix24Integration\bin\ConnectorDb->updateEntContact() /storage/usbdisk1/mikopbx/custom_modules/M
oduleBitrix24Integration/bin/ConnectorDb.php:153
Jan 17 23:21:21 daemon.err php.backend[18226]: 5. Modules\ModuleBitrix24Integration\bin\ConnectorDb->onEvents() /offload/rootfs/usr/www/src/Core/System/BeanstalkC
lient.php:369
Jan 17 23:21:21 daemon.err php.backend[18226]: 6. call_user_func() /offload/rootfs/usr/www/src/Core/System/BeanstalkClient.php:369
Jan 17 23:21:21 daemon.err php.backend[18226]: 7. MikoPBX\Core\System\BeanstalkClient->wait() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/b
in/ConnectorDb.php:100
Jan 17 23:21:21 daemon.err php.backend[18226]: 8. Modules\ModuleBitrix24Integration\bin\ConnectorDb->start() /offload/rootfs/usr/www/src/Core/Workers/WorkerBase.p
hp:151
Jan 17 23:21:21 daemon.err php.backend[18226]: 9. MikoPBX\Core\Workers\WorkerBase->startWorker() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integratio
n/bin/ConnectorDb.php:735
Jan 17 23:21:21 daemon.err php.backend[18226]: on MikoPBX\Common\Handlers\CriticalErrorsHandler::handleExceptionWithSyslog
Затрудняюсь сказать, когда это началось.
Модуль интеграции с Битрикс24 подключали осенью.
В целом станция работает.
Но звонки из битрикса срабатывают с задержкой в 20сек, а из 1С моментально.
Какую БД он не может открыть?
Нужно проверить диск на ошибки
Сделать это можно из консольного меню (пункт 6)
Перед проверкой обязательно выполнить резервное копирование (или снэпшот).
Дополнительно можно выполнить восстановление базы данных модуля
# Создаем дамп базы данных модуля
sqlite3 /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/db/module.db .dump > /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/db/module.db.dmp
# Восстанавливаем дамп в новую базу данных
sqlite3 /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/db/module.new < /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/db/module.db.dmp
# Чистим старые файлы
rm -rf /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/db/module.db*
# Восстанавливаем базу данных
mv /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/db/module.db.new /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/db/module.db
# Перезагружаем АТС
reboot;
В этой таблице хранится контактная книга Bitrix24, котактные телефоны клиентов, если какие то строки не удалось загрузить, при поступлении звонка может не сработать функция “Перехват на ответственного” по некоторым клиентам.
Можно попробовать указанные “line 72XXX” загрузить вручную, найдя эти строки в файле module.db.dmp
nano +72562 module.db.dmp
Но перед загрузкой нужно чистить поле id в запросе.
Оказалось по содержанию, что в дампе задублировалось 12 строк, вызывающих нарушение уникальности ключа. Я их удалил, новый файл из дампа сформировался без ошибок.
Подменил файл module.db и включил обратно модуль интеграции.
Однако теперь ошибка выглядит так:
Jan 28 14:18:34 daemon.err php.backend[6259]: PDOException: SQLSTATE[HY000]: General error: 5 cannot open savepoint - SQL statements in progress in file /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php on line 540
Jan 28 14:18:34 daemon.err php.backend[6259]: Stack trace:
Jan 28 14:18:34 daemon.err php.backend[6259]: 1. PDOException->() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php:540
Jan 28 14:18:34 daemon.err php.backend[6259]: 2. Phalcon\Mvc\Model\Resultset->delete() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php:540
Jan 28 14:18:34 daemon.err php.backend[6259]: 3. Modules\ModuleBitrix24Integration\bin\ConnectorDb->deletePhoneContact() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php:591
Jan 28 14:18:34 daemon.err php.backend[6259]: 4. Modules\ModuleBitrix24Integration\bin\ConnectorDb->updateEntContact() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php:153
Jan 28 14:18:34 daemon.err php.backend[6259]: 5. Modules\ModuleBitrix24Integration\bin\ConnectorDb->onEvents() /offload/rootfs/usr/www/src/Core/System/BeanstalkClient.php:369
Jan 28 14:18:34 daemon.err php.backend[6259]: 6. call_user_func() /offload/rootfs/usr/www/src/Core/System/BeanstalkClient.php:369
Jan 28 14:18:34 daemon.err php.backend[6259]: 7. MikoPBX\Core\System\BeanstalkClient->wait() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php:100
Jan 28 14:18:34 daemon.err php.backend[6259]: 8. Modules\ModuleBitrix24Integration\bin\ConnectorDb->start() /offload/rootfs/usr/www/src/Core/Workers/WorkerBase.php:151
Jan 28 14:18:34 daemon.err php.backend[6259]: 9. MikoPBX\Core\Workers\WorkerBase->startWorker() /storage/usbdisk1/mikopbx/custom_modules/ModuleBitrix24Integration/bin/ConnectorDb.php:735
Jan 28 14:18:34 daemon.err php.backend[6259]: on MikoPBX\Common\Handlers\CriticalErrorsHandler::handleExceptionWithSyslog