Обработка записей Asterisk
Имеется – папка с записями asterisk где-то за год – где-то гигов на 30. Т.к. астериск все пишет в wav, хорошо бы это дело переконвертировать в mp3, да еще и рассортировать по дате, для удобства поиска нужного звонка. После пары минут гугления был найден искомый скрипт, но он был рабочий только наполовину, поэтому пришлось допиливать ручками. Вот что получилось в итоге
#!/bin/bash #20100503 - Author: Gregg Hansen. Modified by Snake #version 0.2 #Сначала убедитесь в том, что у вас стоит пакет lame #Папка с записями разговоров recorddir="/var/spool/asterisk/monitor" for i in `ls $recorddir/*.wav`; do cd $recorddir #Шаблон даты date=`ls -l $i | awk '{print $6}'` #Шаблон часов hour=`ls -l $i | awk '{print $7}'` mp3=`echo $i | sed 's/.wav/.mp3/g'` #Собственно само кодирование. Опции lame выбрать по вкусу lame -d -h -m j -b 128 $i $mp3 #Сортировка будет происходить по дням, а внутри дня - по времени начала разговора mkdir ${date} cd $recorddir/${date} mkdir ${hour} mv ${mp3} ${hour} #wav файлы перемещаются в отдельную директорию, на всякий случай. #В дальнейшем можно будет просто периодически очищать эту директорию mkdir ${recorddir}/wav_recordings mv $i ${recorddir}/wav_recordings/ done
На выходе мы вместо кучи файлов получаем аккуратные папочки с датами. Скрипт лучше всего засунуть в cron и запускать каждые сутки.