Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • mysql
  • couchbase
  • Звуки, залитые клиентами
  • текущую конфигурацию в /etc/ringme/main.cfg

mysql

Рекомендуемые Необходимые опции для архивированияmysqldump: --events --routines --single-transaction

БазаКак бэкапить
ringmeполностью
ringme_logполностью, если нужно сохранять статистику, информацию о записях разговоров, факсах, голосовой почте, cdr , - иначе только структуру (--no-data)
teleofficeclient_interfaceполностью
teleoffice_statтолько структуру (--no-data)

couchbase

Бакет с данными - freeswitchconf

...

teleo_statsтолько структуру (--no-data)


couchbase

Выполнить бэкап текущих данных couchbase нужно командой:

/opt/couchbase/bin/cbbackup и через /opt/API/cbdumper/src/cbdump.py (пакет ringme-api-cbdumper). Первый метод быстрее, но второй дампит в формате ключ-файл, что позволяет как легко искать что-либо, так и использовать git для контроля изменений, более частого бэкапа и быстрого отката нескольких ключей.

Звуки

Штатно звуки клиентов размещаются couchbase://127.0.0.1:8091 $PATH -u Administrator -p $BUCKET_PASS_HERE

,где $PATH - путь к бэкап-директории, куда cbbackup запишет бэкапы с поддерикториями вида $PATH/2018-09-05T091704Z/2018-09-05T091704Z-full/bucket-event_socket_conf/, а $BUCKET_PASS_HERE - пароль администратора от couchbase сервера.


Восстановление выполняется следующей командой:

/opt/couchbase/bin/cbrestore -b event_socket_conf -B event_socket_conf -u Administrator -p $BUCKET_PASS_HERE $PATH+backupdir  couchbase://127.0.0.1:8091

,где $BUCKET_PASS_HERE - пароль администратора от couchbase сервера, $PATH+backupdir - путь, куда производилась запись бэкапа + поддериктории, куда был записан бэкап ($PATH/2018-09-05T091704Z/2018-09-05T091704Z-full/bucket-event_socket_conf/)


В couchbase используется для хранения данных только один бакет - event_socket_conf, иные бакеты хранят только временную информацию.


При необходимости восстановления couchbase из бэкапа лучше всего восстановить и mysql (в частности базу ringme, не нужно восстанавливать, например бд ringme_log)


Медиафайлы

Приветствия IVR, очередей и т.д.  хранятся в /var/lib/freeswitch/sounds/ а информация о привязке этих звуков к клиентам находится в mysql. Архивировать можно как простые файлы , можно через rsyncКонфигурация(rsynс, cp)


Глобальная конфигурация

Файл /etc/ringme/main.cfg меняется только при первичной настройке системы и глобальных изменениях, при нормальной работе системы он только читается. Бэкапить достаточно перед и после обновления пакетов ringme.


ПрочееЗаписи

При необходимости сохранения копий факсов, записей разговоров, голосовой почты - сохранять /var/lib/freeswitch

Системные звуки и скрипты размещены в /usr/share/freeswitch, при необходимости - бэкапить достаточно перед и после обновления пакетов ringme.


Локальные настройки медиа ноды размещены в /etc/freeswitch, при необходимости - бэкапить достаточно перед и после обновления пакетов ringme.Пример скрипта


Code Block
languagebash
titlebackup-without-records-fax-vm.sh
#!/bin/sh

DATE=`date +%Y%m%d-%H%M%S`
OPTS='--events --routines --single-transaction'
TO=/backup

TO_MYSQL=$TO/mysql
mkdir -p $TO_MYSQL
mysqldump ${OPTS} -B ringme |gzip > $TO_MYSQL/ringme.${DATE}.sql.gz
mysqldump ${OPTS} -B ringme_log |gzip > $TO_MYSQL/ringme_log.${DATE}.sql.gz
mysqldump ${OPTS} -B client_interface |gzip > $TO_MYSQL/client_interface.${DATE}.sql.gz
mysqldump ${OPTS} --no-data -B teleoffice_stat |gzip > $TO_MYSQL/teleoffice_stat.${DATE}.sql.gz
mysqldump ${OPTS} --no-data -B teleo_stats |gzip > $TO_MYSQL/teleo_stats.${DATE}.sql.gz

TO_CBBACKUP=$TO/cbbackup
mkdir -p $TO_CBBACKUP
CB_PASS=$(grep -A 100 '\[couchbase dumper]' /etc/ringme/main.cfg | grep password | head -n1 | awk -F "=" '{print $2}')
/opt/couchbase/bin/cbbackup couchbase://127.0.0.1:8091 $TO_CBBACKUP/$(date +%Y-%m-%d) -u Administrator -p $CB_PASS

TO_SOUNDS=$TO/sounds
mkdir -p $TO_SOUNDS
tar -czf $TO_SOUNDS/$DATE.tgz /var/lib/freeswitch/sounds

TO_RINGME=$TO/ringme
mkdir -p $TO_RINGME
cp /etc/ringme/main.cfg $TO_RINGME/$DATE.main.cnf


Note
titleРекомендация

После выполнения скрипта копировать данные на удаленный сервер вне кластера АТС