Читать «ELASTIX – общайтесь свободно» онлайн - страница 95

Владислав Юров

Высвобождение места на диске

Чтобы избежать аварийной остановки Elastix, поддерживайте необходимый системе объем свободной памяти на диске. Чаще всего при переполнении диска страдает файл AMPUSER, в котором хранится текущая информация обо всех абонентах, каналах и переадресациях. Повреждение этого файла приведет к прекращению работы телефонной станции или к ошибкам в работе, и доставит Вам множество неудобств по восстановлению файла. Обратите внимание на следующие задачи:

• удаление старых аудиозаписей разговоров

• удаление старых резервных копий настроек Elastix

• удаление старых файлов с факсами

• удаление старых файлов голосовой почты

• удаление старых записей из логов звонков (CDR)

Для первых трех задач можно использовать Addon Space Cleaner (, цена $9.90). После установки появляется в меню «System/Space Cleaner»:

Бесплатная версия позволяет автоматически удалять старые факсы и старые резервные копии настроек Elastix.

Настройка автоматического удаления старых аудиозаписей

Если ведете аудиозапись разговоров, но решили использовать бесплатную версию Space Cleaner, можете для поддержания свободного места настроить небольшой скрипт для удаления старых аудиозаписей.

Создайте файл /root/tasks/cleanup-asterisk.sh и откройте его в текстовом редакторе:

mkdir /root/tasks

nano /root/tasks/cleanup-asterisk.sh

Напишите следующий текст скрипта и сохраните:

#!/bin/bash

flog=/var/log/asterisk/cleanup-asterisk-log.txt

dtFormat="+%Y-%m-%d %H:%M:%S"

log() {

echo $(date "${dtFormat}")" $1" >>$flog

}

removeOld() {

folder=$1

days=$2

patt=$3

lst=/tmp/cleanup-list.txt

find – P "${folder}" – maxdepth 4 – mtime +${days} – iname "${patt}" – delete – print >${lst}

cnt=$(grep – c "" ${lst})

log "OK: ${cnt} files like '${patt}' removed from '${folder}'"

}

log «Cleanup Asterisk files started»

removeOld '/var/spool/asterisk/monitor' "120" '*.wav'

removeOld '/var/www/backup' "60" 'elastixbackup-*-ab.tar'

removeOld '/var/www/faxes' "120" '*.pdf'

removeOld '/var/www/faxes' "120" '*.tif'

removeOld '/var/www/hylafax' "120" '*.pdf'

removeOld '/var/www/hylafax' "120" '*.tif'

log "Cleanup complete"

exit 0

Настройте автоматический запуск, используя команду

crontab – e

убедитесь, что есть определение переменной окружения PATH

PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

чтобы запускать скрипт каждую ночь в 01:05 добавьте строку:

5 1 * * * /bin/bash /root/tasks/cleanup-asterisk.sh

Подсказка: для перехода в режим редактирования используйте «i». Для сохранения изменений нажмите «ESC», затем «:wq».

Данный скрипт удаляет:

• аудиозаписи старее 120 дней

• резервные копии конфигурации Elastix старее 60 дней (кроме созданных вручную)

• факсы старее 120 дней

При необходимости по аналогии можно добавить другие папки для удаления старых файлов.

Отключение резервного копирования аудиозаписей

Если Вы включили резервное копирование конфигурации Elastix на закладке «System/Backup/Restore»

по умолчанию создаются резервные копии даже голосовой почты и аудиозаписей разговоров: