Script zu Asterisk Anrufaufzeichnungen aus dem RAM bewegen

Das Verschieben der Anruf gespeicherten Datensätze im RAM Asterisk

Dieser Artikel stellt eine verbesserte Skriptdateien zu bewegen (in diesem Fall Telefonanrufe durch Asterisk gemacht) unturned geöffneten Dateien (Laufende Gespräche). Es ist sehr typisch zu haben Aufnahmen von Anrufen von Asterisk in einem Call-Center zum Beispiel zu machen.

Um dieses Skript mache ich als Basis eine verwendet, die ich gefunden Hier, Dank der Autor.

Erinnern Sie vor dem Start, welche Farben Anwendungen und Systeme bedeuten:

geschriebene Texte in der Kommandozeile: blau
Die Ausgabe von der Kommandozeile: Verde
Dateinamen und Dateiinhalt: braun

Rechtfertigung

Asterisk ist eine Telefonie-Software (weit verbreitet in VoIP) für eine Telefonzentrale mit mehreren Funktionalitäten bauen, einschließlich Anrufaufzeichnung. gewöhnlich, für die Leistung, Anrufaufzeichnungen auf der RAM-Einheit durchgeführt, oder RAM-Disk (Wenn Sie wissen wollen, wie man erstellen, können Sie diese folgen Link), dann, nach bestimmten Zeitintervallen, permanent auf einem Laufwerk gespeichert, z.B., auf einem Server NAS. so, Wir vermeiden auch die im Antrieb beteiligt Verschlechterung stetigen Bemühungen Schreiben durch mehrere Anrufe Aufzeichnung.

Natürlich stellt dies ein Risiko; ein elektrischer Fehler und Aufnahmen verloren. So sollte von Zeit zu Zeit, um die Aufnahmen in einem bestimmten Ort zu speichern.

Das Skript, das ich auf meine Bedürfnisse angepasst haben. Alle Aufnahmen in einem Unterverzeichnis gespeichert werden, wird jeden Tag erstellt, con la fecha del mismo, en formato gsm. El script va buscando inicialmente ese subdirectorio, mira dentro de él los archivos que no están siendo utilizados, y finalmente los mueve a su ubicación definitiva.

Si no tuviésemos la precaución de mirar primero si están siendo utilizados o no, se podrían mover archivos incompletos, con la pérdida de información que ello supone.

Desarrollo

El script que propongo y que a mí me funciona 😉 es el siguiente:


#!/bin/bash
# Para mover las llamadas grabadas en una unidad RAM
# Überprüfen Sie den Inhalt dieser Einheit und übergibt sie an eine Festplatte
# Wir haben ein Verzeichnis auf dem Laufwerk,
# Unterverzeichnisse, die täglich generiert werden
## Variablen mit Verzeichnissen zu verwenden,
RAMDIR ="/tmp / discoram"
LAGER ="/mnt / servidor_almacen" #Remote-Einheit, previamente Montada, almacén definitivo
CD $ RAMDIR
ls -1 d */ > listado.borrable
#cada Tag während lesen täglich Online-Verzeichnis, Es wird aus der Datei extrahiert "listado_borrable"
machen # Hier beginnt der Teil-Dateien von bewegten sich, nur Tonformat gsm
für i in $(ls -1 $RAMDIR / $ dia / *. Gsm) ; do
lsof  $i #comprueba los archivos abiertos para no moverlos todavía
valor=$? #Ausgabezustand, wenn 0 die Datei geöffnet
wenn [ $Wert Us 0 ] ; dann
ob [ -d $ STORED / $ Tag ] ; dann
Echo-Aufnahmen Ordner überprüft
sonst
mkdir STORED / Tag $ $
#solo erstellt die Ordner, falls erforderlich
fi
mv $ i STORED $ / $ Tag
fi
erledigt
$ Rmdir Tag 2> /dev / null #if ist leer löschen
erledigt < listado.borrable #aqui endet, während

 

Sie können es herunterladen Hier Wenn Sie fühlen sich wohl.

Vergessen Sie nicht, kommentieren und tragen Sie Ihre maßgeschneiderte Lösungen, Sie können immer verbessern.


Über Angel Calvo

Leidenschaft für Wissenschaft und Technologie. Lehrer, Autor von Handbüchern und Systeme und Kommunikations-Manager.

Lassen Sie eine Antwort