Script pour déplacer Asterisk enregistrements d'appels de la RAM

Déplacement des enregistrements d'appels stockées dans la RAM Asterisk

Cet article présente un script amélioré pour déplacer des fichiers (dans ce cas, les appels téléphoniques effectués par Asterisk) fichiers ouverts prodigué (appels en cours). Il est très typique d'avoir à faire des enregistrements d'appels d'Asterisk dans un centre d'appels, par exemple.

Pour ce script, j'ai utilisé comme une base que je trouve Ici, grâce à son auteur.

Rappelez avant de commencer ce que les couleurs signifient Applications et Systèmes:

textes écrits dans la ligne de commande: bleu
La sortie de la ligne de commande: Verde
Les noms de fichiers et le contenu du fichier: Brun

justification

Asterisk est un logiciel de téléphonie (largement utilisé dans VoIP) pour la construction d'un standard avec des fonctionnalités multiples, y compris l'enregistrement des appels. normalement, pour des performances, enregistrements appels effectuent eux sur un lecteur RAM, ou un disque RAM (si vous voulez savoir comment créer un, vous pouvez suivre cette lien), pour plus tard, après certains intervalles de temps, stocké de façon permanente sur un lecteur de disque, par exemple, dans un serveur NAS. De cette façon, aussi éviter la détérioration impliqué dans l'entraînement de l'effort continu de l'écriture en enregistrant plusieurs appels.

Bien sûr, cela est un risque; un défaut électrique et les enregistrements sont perdus. Donc, devrait sauver de temps en temps ces enregistrements dans un endroit précis.

Ce script, je l'ai adapté à mes besoins. Tous les enregistrements sont sauvegardés dans un sous-répertoire qui est créé chaque jour, avec la date de celle-ci, format GSM. Le script recherche d'abord pour ce sous-répertoire, il regarde dans les fichiers qui ne sont pas utilisés, et finalement déménagé à son emplacement final.

Si nous ne faites pas attention à regarder d'abord si elles sont utilisées ou non, ils peuvent déplacer des fichiers incomplets, avec la perte d'information qui implique.

développement

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


#!/bin/bash
# Pour déplacer les appels enregistrés sur un lecteur RAM
# Revisa el contenido de esa unidad y lo pasa a un disco duro
# tenemos un directorio en esa unidad,
# con subdirectorios que se generan diariamente
## Variables con los directorios a utilizar
RAMDIR="/tmp/discoram"
ALMACEN="/mnt/servidor_almacen" #unidad remota, previamente montada, definitivo almacén
CD $ RAMDIR
ls -1 d */ > listado.borrable
#cada tandis jour lire un répertoire en ligne tous les jours, fichier extraite "listado_borrable"
faire # ici commence la partie des fichiers eux-mêmes en mouvement, seul format son gsm
for i in $(ls -1 $RAMDIR / $ dia / *. Gsm) ; faire
fichiers lsof $ i #comprueba ouverts pour ne pas bouger encore
value = $? #état de sortie, Oui c'est 0 le fichier est ouvert
si [ $valeur-nous 0 ] ; puis
si [ -d $ WAREHOUSE / $ par jour ] ; puis
enregistrements Echo dossier vérifiés
autre
mkdir WAREHOUSE / $ par jour $
#solo crée le dossier si nécessaire
fi
mv $ i $ WAREHOUSE / $ par jour
fi
fini
$ Rmdir Jour 2> /dev / null # si nous supprimons est vide
fini < #aqui listado.borrable se termine alors que

 

Vous pouvez le télécharger Ici si vous êtes plus à l'aise.

Ne pas oublier de commenter et contribuer vos solutions personnalisées, vous pouvez toujours améliorer.


Au sujet de Ange Calvo

Passionné par la science et de la technologie. Professeur, auteur de manuels et de systèmes de communications et gestionnaire.

Laisser un commentaire