Movante la alvoko registrojn stokitaj en RAM Asterisko
Tiu artikolo prezentas plibonigita skripto movi dosierojn (tiukaze telefonaj alvokoj faritaj tra Asterisko) sen renversado malfermita dosierojn (nomas en progreso). Ĝi estas tre tipa devos fari registradojn de alvokoj de Asterisk en Call Center ekzemple.
Fari ĉi skripto mi uzis kiel bazon kiu mi trovis Tie, danke al lia aŭtoro.
Memorigi antaŭ komenci kion koloroj signifas Aplikoj kaj Sistemoj:
skribita tekstoj en la komandlinio: blua
Eligon de la komandlinio: verde
Dosiero nomoj kaj dosier enhavo: brunaj
pravigo
Asterisko estas telefonía programaro (vaste uzata en VoIP) rekonstruataj centralita kun multnombraj funcionalidades, Inkluzivanta alvoko registrado. kutime, por agado, alvoko registradoj plenumi ilin sur RAM stirado, aŭ disko RAM (Se vi volas scii kiel krei unu vi povas sekvi ĉi Ligo), tiam, post certa tempo intervaloj, konstante stokitaj sur disko, ekzemple, en servilo NAS. tiel, Ankaŭ eviti la difekto implikita en la disko la kontinua penado de skribo de registrado multnombraj alvokoj.
Kompreneble tio estas risko; elektra faŭlto kaj registradoj estas perditaj. Tiel devus savi de tempo al tempo tiujn registradojn en difinitan lokon.
Tiu skripto mi adaptita al miaj bezonoj. Ĉiuj registradoj estas savitaj en subdosierujo kiu kreis ĉiutage, kun la dato gxiaj, formato Gsm. La skripto estos komence serĉante ke subdosierujo, Li rigardas en dosieroj kiuj ne uzas, kaj finfine proponita al ĝia fina loko.
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
# 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, almacén definitivo
cd $RAMDIR
ls -1d */ > listado.borrable
while read dia #cada línea un directorio diario, se extrae del archivo "listado_borrable"
do # aquí empieza la parte de mover archivos en sí, nur sono formato Gsm
por i en $(ls -1 $RAMDIR / $ dia / *. Gsm) ; fari
lsof $ i #comprueba dosierojn malfermiĝis por ne movi ankoraŭ
valoro = $? #eligo stato, se 0 la dosiero estas malfermita
se [ $valoro nin 0 ] ; tiam
se [ -d $ WAREHOUSE / $ tago ] ; tiam
Eĥo registradoj dosierujo kontrolis
alia
mkdir WAREHOUSE / $ tage $
#solo kreas la dosierujo se necese
fi
mv $ i $ WAREHOUSE / $ tago
fi
farita
$ Rmdir Tago 2> /dev / null # se ni forigas malplenas
farita < listado.borrable #aqui finiĝas dum
Vi povas elŝuti ĝin Tie se vi estas pli komforta.
Ne forgesu diri kaj kontribui vian personigita solvojn, vi povas ĉiam plibonigi.