Hola hace un tiempo tuve problemas con las grabaciones ya que me ocupaban mucho espacio lo que hice para evitar esto es transformar dichas grabaciones de manera automática todos los días , por medio de un script que lo que hace es bajar el tamaño de las grabaciones hasta tres veces sin perder la calidad de las mismas .
SIN EMBARGO RECOMIENDO QUE HAGAN SUS PRUEBAS Y SAQUEN SUS PROPIAS CONCLUSIONES ....
Es muy sencillo lo primero que hice es instalar FFMPEG un convertidor de audios que me pareció muy bueno para issabel.
yum -y install ffmpeg
Después creare una carpeta temporal donde el sistema guarde los audios transformados y luego los coipe de nuevo al archivo original .
por medio de la consola escribiré lo siguiente = ( va con comentarios )
Ingresamos a la carpeta monitor
cd /var/spool/asterisk/monitor/
creamos la carpeta ZIP
mkdir ZIP
Le damos propiedad asterisk
chown asterisk:asterisk ZIP
ahora vamos a la carpeta var (alla pondré mi script) que lo llamare Audio.sh
Lo podemos crear con VIM o lo que ustedes deseen =
vim Audio.sh
y escribo lo siguiente =
#!/bin/bash
fecha=$(date '+%Y/%m/%d')
cd /var/spool/asterisk/monitor/$fecha/
for f in .wav; do ffmpeg -i "$f" -acodec libmp3lame -b:a 64k "/var/spool/asterisk/monitor/ZIP/${f%.wav}.wav"; done;
'cp' -rf /var/spool/asterisk/monitor/ZIP/ /var/spool/asterisk/monitor/$fecha/
rm -Rf /var/spool/asterisk/monitor/ZIP/*
Ahora creare un crontab para que se ejecute a diario (importante que se haga en la noche cuando sepamos que no harán mas llamadas , pueden usar "crontab -e" o escribir esto que hará que el script se ejecute a todos los días a las 11 de la noche =
crontab -l | { cat; echo '00 23 * /var/Audio.sh >/dev/null 2>&1'; } |crontab -
Ahora daré privilegios al script Y le daré propiedad asterisk
chmod 777 /var/Audio.sh
chown asterisk:asterisk ZIP
Que hace el srcript ?
Lo explicare =
Aquí verifica el día - mes y año para convertir solo los archivos del día !.
fecha=$(date '+%Y/%m/%d')
Después entramos a la carpeta correspondiente del día !.
cd /var/spool/asterisk/monitor/$fecha/
Después por medio de FFMPEG convierto los archivos y los envió a la carpeta temporal ZIP.
for f in *.wav; do ffmpeg -i "$f" -acodec libmp3lame -b:a 64k "/var/spool/asterisk/monitor/ZIP/${f%.wav}.wav"; done;
Después copio los archivos de la carpeta temporal al día correspondiente.
'cp' -rf /var/spool/asterisk/monitor/ZIP/* /var/spool/asterisk/monitor/$fecha/
al final borro la carpeta termporal para evitar llenar le disco duro.
rm -Rf /var/spool/asterisk/monitor/ZIP/*
Nota : (como pueden ver no hay riesgo de perder audios ya que le sistema solo reemplaza los archivos que transformo si por X o Y uno no se transforma no lo copia)