AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Elastix 2.3.0 - очистка базы Monitoring

Asterisk GUI 6 сообщений -
#1

Elastix 2.3.0 - очистка базы Monitoring


Проблема такая, в Elastix 2.3.0 ведуться записи всех разговоров, база записей растет, вручную ее никто не чистит, если просто удалять WAV файлы из каталога то в SQL-базе записи все равно остаються со ссылками на эти файлы, если удалять из веб-морды Эластика, то удаляються файлы а напротив записи появляеться Deleted.

Вопрос: Как автоматом очищать базу записей MySQL и соответстующих этим записями файлов за определенный период?
#2

скрипт написать на чем угодно, примерно:

Код:
#!/bin/env ruby
require 'rubygems'
require 'mysql'
require 'active_record'

MY_DB = { :adapter => :mysql,
:encoding => :utf8,
:database => 'voip',
:pool => 250,
:connections => 12,
:username => 'voip',
:password => 'voip',
#:socket => '/var/run/mysqld/mysqld.pid',
:host => '127.0.0.1',
:reconnect => true
}
ActiveRecord::Base.establish_connection MY_DB

logger = Logger.new(STDERR)
logger.level = Logger::DEBUG

ActiveRecord::Base.logger = logger
ActiveRecord::Base.colorize_logging = true

# create your AR class
class CDR < ActiveRecord::Base
set_table_name :cdr
end

# Delete records
Cdr.where("calldate < ?", Date.now - 3.months).each do |record|
File.delete "/var/spool/asterisk/recordings/#{record}.wav"
File.delete "/var/spool/asterisk/recordings/#{record}.WAV"
File.delete "/var/spool/asterisk/recordings/#{record}.mp3"
record.delete
end
#3

Может кому-то понадобиться, сделал вот так:

Код:
#!/bin/bash

user="root"
pass="mypasswd"
db="asteriskcdrdb"
#Удаление записей из БД, оставляя за последние 100 дней
sql="DELETE FROM cdr WHERE cdr.calldate
#4

Мне не нравится, что стираете данные из базы и затем - файлы.
я бы проходил в цикле, но...

ваш вариант минималистичен и полностью достаточен!
#5

странно у меня он почему то не чистит указал root пароль на базу изменил пути хранения записей
в чем может быть проблема

можно если не трудно по подробней
#6

некто не подскажет?