Что необходимо архивировать:
- mysql
- couchbase
- Звуки, залитые клиентами
- текущую конфигурацию в /etc/ringme/main.cfg
mysql
Необходимые опции для mysqldump: --events --routines --single-transaction
База | Как бэкапить |
---|---|
ringme | полностью |
ringme_log | если нужно сохранять статистику, информацию о записях разговоров, факсах, голосовой почте, cdr, иначе только структуру (--no-data) |
client_interface | полностью |
teleoffice_stat | только структуру (--no-data) |
teleo_stats | только структуру (--no-data) |
couchbase
Бакет с данными утилитой cbbackup:
/opt/couchbase/bin/cbbackup couchbase://127.0.0.1:8091 /backup/cbbackup/$(date +%Y-%m-%d) -u Administrator -p BUCKET_PASS_HERE
Звуки
Штатно звуки клиентов размещаются в /var/lib/freeswitch/sounds/ а информация о привязке этих звуков к клиентам находится в mysql. Архивировать как простые файлы, можно через rsync
Конфигурация
Файл /etc/ringme/main.cfg меняется только при первичной настройке системы и глобальных изменениях, при нормальной работе системы он только читается. Бэкапить достаточно перед и после обновления пакетов ringme.
Прочее
При необходимости сохранения копий факсов, записей разговоров, голосовой почты - сохранять /var/lib/freeswitch
Пример скрипта
#!/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
Рекомендация
После выполнения скрипта копировать данные на удаленный сервер вне кластера АТС