VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Удалить записи разговоров из Эластикса

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
vladv
Сообщения: 229
Зарегистрирован: 21 авг 2012, 17:06

Удалить записи разговоров из Эластикса

Сообщение vladv »

Добрый день, друзья. Накопились записи разговоров в эластиксе, хочу удалить, через вэб-интерфейс нужно ставить галочку напротив каждой записи, это нормально но записей много. Может есть какой-то другой способ? эластикс складывает их (записи) в папку "monitor", может её очистить?
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: Удалить записи разговоров из Эластикса

Сообщение april22 »

по форуму бегал скрипт , который в эластике "чистит" базу от записей имен файлов , и также удаляет сам файлы .
периуд за который удаляются записи в днях проставляется в скрипте - затем его по крону пускаете .
Своими вопросами , вы загоняете меня в ГУГЛЬ.
vladv
Сообщения: 229
Зарегистрирован: 21 авг 2012, 17:06

Re: Удалить записи разговоров из Эластикса

Сообщение vladv »

Спасибо.
вот надыбал какой-то, удаляет те которые старше 90 дней. Вот.
/usr/bin/find /var/spool/asterisk/monitor/*.wav -mtime 90 -delete
думаете подойдёт?
Аватара пользователя
SolarW
Сообщения: 1331
Зарегистрирован: 01 сен 2010, 14:21
Откуда: Днепропетровск, Украина

Re: Удалить записи разговоров из Эластикса

Сообщение SolarW »

С форума эластика:
Do not delete the files on the back end. As fainsys states, Elastix indexes the recordings in the database. You will end up with broken links.

I too was looking for a way to mass-delete the old recorded calls. After all, they take up quite a bit of space. The current Elastix user interface is very poorly designed for deleting recorded calls. Each page lists 20 calls at a time and you have to individually click on each checkbox before hitting the delete button. Of course, if you have thousands of recorded calls like me, this potentially takes many hours of mind numbing and pointless work.

I decided to take a more practical approach and see if I could hack the monitoring module just enough to make this less painful. I had no desire to redesign the interface or add significant new functionality (such as a select all button or a user option to list more than 20 records at a time). Instead, I performed two quick hacks with minimal editing and no risk to my existing setup:

1. I increased the number of listed recordings from 20 to 200 so I wouldn't keep hitting the next page. You can set this number to whatever you like. 200 was a sensible number for my situation.

2. I changed the default state of the check boxes from unchecked to checked so I wouldn't have to select each an every record individually before I could delete them. This change is the real time saver.

These two quick modifications meant that I could delete 200 records at a time with two clicks (instead of more than 250 clicks in the original interface). So if I had 2000 records, it would only about 2 minutes to delete them. Previously it would take me upwards of three hours.

Here are the detailed instructions:

1. SSH to your Elastix server. You need administrative privileges, of course. For example, "sudo bash"

2. Go to the monitoring module directory (i.e. "cd /var/www/html/modules/monitoring").

3. Make a backup copy of your original module file (i.e. "cp index.php index.php.ORIGINAL"). If you make a mistake at any point, you can restore your original file from this backup copy.

4. Open the index.php file with your favorite editor. I personally prefer vi (I am old school and have been using UNIX/Linux since mid 1980s). You can use nano or whatever you like. For example, "vi index.php"

5. Find the line that says:

$limit = 20

and change that number to whatever you like. This is the variable that controls the number of displayed records. I increased this limit to 200 (i.e. "$limit = 200").

6. Find the line that says:
$arrTmp[0] = "<input type 'checkbox' name='id_".$value['uniqueid']."' />";

and change it to:

$arrTmp[0] = "<input type 'checkbox' name='id_".$value['uniqueid']."' checked/>";

This change ensures that the CHECKED attribute of the form element CHECKBOX is set so you don't have to.

7. Using your browser, go to Elastix admin interface, sleect the PBX tab and click on Monitoring link at the top. Set your filter criteria and submit. Tada! Now you have up to 200 records displayed and their checkboxes are checked. All you have to do is to click on the delete button.

Let me know if this doesn't work for you for any reason. Happy deleting!
vladv
Сообщения: 229
Зарегистрирован: 21 авг 2012, 17:06

Re: Удалить записи разговоров из Эластикса

Сообщение vladv »

:) доброе утро. Спасибо. попробую.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH