Вы находитесь на странице: 1из 67

Material de pre-estudio

Curso Asterisk Intensivo


La versin ms reciente de este material est en
http://a-mx.com/MaterialCursos
Introduccin #1
Telefona tradicional
Ing. Christian Cabrera R.
Evolucin del telfono
Graham Bell patenta el primer telfono en 1876
Los telfonos se conectaban por pares, por lo que para hacer
llamadas era necesario desplazarse a centros de telefona.
La central telefnica se inventa en 1877, permitiendo conmutar
llamadas.

Inicialmente, la seal telefnica viaja como voltaje


anlogo a travs de las lneas
Las llamadas (sobretodo las de LD) sufren de prdidas en
volumen, ruidos en lnea y problemas de eco.

Durante los 60s, se comienza a reemplazar la red de


telefona anloga por una red digital
Esto aumenta considerablemente la calidad, confiabilidad y
capacidad de los enlaces telefnicos
Introduccin a telefona tradicional 3
Voz humana
El rango de frecuencia de la voz es de 30 a 18,000 Hz
La mayor intensidad est entre los 30 a 4,000 Hz.
Los circuitos telefnicos se disearon en torno a esta
frecuencia.
Un filtro reduce el paso solo del rango 300 a 3,400
Hz
Esto quiere decir que
menos del 20% del
sonido que emitimos
viaja realmente por el
telfono
Por eso confundimos
voces y/o palabras
Fuente: http://bit.ly/9332kI
Introduccin a telefona tradicional 4
Telefona anloga
vs digital
Las seales digitales (unos y ceros) pueden ser
transmitidas sin sufrir problemas de ruido o
atenuacin
Para convertir una seal anloga a una digital,
debemos atravesar por un proceso conocido como
Pulse Code Modulation (modulacin por impulsos
codificados)
En qu consiste PCM?

Introduccin a telefona tradicional 5


Pulse Code Modulation
Consta de 4 pasos:
Filtrado
Muestreo
Cuantificacin
Codificacin
Opcionalmente: compresin
Al inicio tenemos una seal de amplitud variable
(onda)
Al final tendremos un tren de bits (001100100110)

Introduccin a telefona tradicional 6


PCM: Filtrado
Restringir la cantidad de informacin que tenemos de
la seal original
Concentrarnos en la porcin que nos interesa
Nuestra voz tiene un espectro completo de 18Khz
Sin embargo, solo transmitimos el rango 300-3,400Hz
Esto reduce la cantidad de informacin que debe ser
enviada

Introduccin a telefona tradicional 7


PCM: Muestreo
Tomar muestras de una seal analgica a una
frecuencia constante
Saber cuanto vale la seal en un momento exacto
De acuerdo a la frecuencia de muestreo es la
cantidad de valores que obtendremos

Fuente: Wikipedia
Introduccin a telefona tradicional 8
PCM: Cuantificacin
Tomar los valores muestreados en el paso anterior y
redondearlos al escaln discreto ms cercano.
La cantidad mxima de niveles est dada por 2n
Donde n = nmero de bits que ocuparemos por dato

Fuente: Wikipedia
Introduccin a telefona tradicional 9
PCM: Codificacin
Convertir los niveles a un valor en bits
Opcionalmente, es posible comprimir los paquetes de bits
para usar un menor ancho de banda

Fuente: http://bit.ly/rrOLB4

Introduccin a telefona tradicional 10


Qu determina la calidad?

Respuesta: La frecuencia de muestreo y el nmero de


niveles
Reduciendo la cuadrcula obtenemos ms detalle

Qu valores de muestreo y niveles usar?


Todo depende del tipo de informacin que vamos a transmitir
Introduccin a telefona tradicional 11
Teorema de Nyquist-
Shannon
Es posible recuperar una seal limitada en
frecuencia a partir de una seal muestreada
al doble de la frecuencia que la mxima original
O dicho en palabras simples:
Si una seal tiene una frecuencia X, debe muestrearse a 2X
Ya mencionamos que un circuito telefnico transmite
el rango de voz humana de los 300 a los 3,400 Hz
Por lo tanto, el rango de frecuencia es menor a 4Khz, as
que 8Khz de frecuencia de muestreo resultan suficientes.
Como comparacin, la msica en CD est muestreada a 44.1
Khz (para comprender todo el espectro audible humano)
Introduccin a telefona tradicional 12
Ancho de banda
Ancho de banda = Niveles (bits) * muestreos
8 bits * 8,000 hz = 64 kbits/s
Esta unidad es conocida como un DS-0
Enlaces digitales (E1,T1) son mltiplos de DS-0
Por esta razn, un E1 (32 canales DS-0) ofrece
exactamente 2mbits/s
32 * 64 = 2,048 kbit/s
El ancho de banda mencionado es para PCM puro
En VoIP podemos reducir el ancho de banda usando cdecs

Introduccin a telefona tradicional 13


Dual Tone Multi Frequency
(DTMF)
Reemplazo del sistema de
marcacin por pulsos.
Marcacin ms rpida

Dos tonos que representan


un nico dgito.
Con 8 tonos podemos
representar 16 dgitos
diferentes

El receptor de los tonos


puede descomponer las
frecuencias y saber que
dgito fue el que se Fuente: http://www.hamsexy.com/dtmf.jpg
presion.
Introduccin a telefona tradicional 14
Resumen del captulo
Los circuitos telefnicos convencionales estn limitados
en su diseo
Nunca se pens que bamos a transmitir la cantidad de
informacin que ahora requerimos.
Los 4 pasos de PCM:
Filtrado, muestreo, cuantificacin y codificacin.
La calidad de una seal digital va en funcin de la
frecuencia de muestreo y la cantidad de bits para la
cuantificacin
Al aumentar la calidad, el ancho de banda sube.
Cuando presionamos el teclado telefnico, existen 2
tonos nicos asignados a esa tecla.
Introduccin a telefona tradicional 15
Evaluacin
Al final de cada captulo se te pedir que contestes
una evaluacin del material consultado.
Los resultados son personales, y nicamente tienen el
propsito de hacerte notar cuanto aprendiste.
Tambin nos ayudan a hacer notar que conceptos no estn
claros en el material.
Para contestar la evaluacin, abre la siguiente liga:
http://enlaza.mx/quiz
Debes proporcionar tu correo electrnico y el
captulo que ests respondiendo.
Introduccin a telefona tradicional 16
Introduccin #2
Voz sobre IP
Ing. Christian Cabrera R.
VoIP: Antecedentes
Voice over Internet Protocol
La voz humana (anloga) es convertida en datos digitales.
Los datos se convierten en paquetes que son enviados a
travs de enlaces compartidos, basados en IP.
Costos reducidos al no tener que rentar circuitos/enlaces
dedicados.
La mayora de usuarios cree que VoIP = Skype
Aunque VoIP no necesariamente necesita una PC
Probablemente la usemos todos los das sin saberlo
Una buena implementacin es aquella que es invisible al
usuario final
Introduccin a VoIP 18
La mala imagen de VoIP
Recordemos que VoIP empez su boom en el 2005:
Infraestructura de redes deficiente para las necesidades de
comunicacin.
Falta de conocimientos al implementarla.
Protocolos como SIP se lanzaron al mercado
apresuradamente.
Hay ms variables involucradas
Ms puntos posibles de falla (energa elctrica, ancho de
banda, disponibilidad en componentes, etc).
No es plug & play como la telefona tradicional.
Los usuarios estn acostumbrados a prcticas de la vieja
escuela.

Introduccin a VoIP 19
Entonces la telefona
tradicional es mejor?

No necesariamente, simplemente sacrifica algunos


puntos para obtener ms funcionalidades
Introduccin a VoIP 20
Cdecs
Significa codificador/decodificador
Es el algoritmo usado para comprimir la voz
La calidad de un cdec determina la calidad de la voz.
El ancho de banda usado tambin es responsabilidad del cdec.
Se escogen de acuerdo a la topologa de la red y del
procesador.
Si el ancho de banda es barato (ej. LAN), usamos cdecs de alta
calidad y baja compresin (ej. G722 o G711)
Si el tiempo de CPU es ms econmico que el enlace, usamos
cdecs de alta compresin (ej. G729)
Regla general comn:
Menor ancho de banda = menor calidad y mayor uso de CPU

Introduccin a VoIP 21
Calidad/ancho de banda
70
por cdec
60
Bitrate Nominal (kbps)

50 G711
G729
40
G723.1
30 GSM
G728
20
G722
10 iLBC

0
3.2 3.4 3.6 3.8 4 4.2 4.4
Calidad MOS
G711 G729 G723.1 G726 GSM G722 G728 iLBC

Bitrate Nominal (Kbps) 64 8 6.3 32 12.2 64 16 15.2


MOS 4.1 3.92 3.9 3.85 3.5 4.3 3.61 4.14

Introduccin a VoIP 22
Bitrate vs. Calidad

Fuente: http://www.opus-codec.org/comparison/

Introduccin a VoIP 23
Bitrate vs. Latencia

Fuente: http://www.opus-codec.org/comparison/

Introduccin a VoIP 24
Cdecs (2)
Pueden ser gratuitos o patentados
G729 y G723 requieren licencia.
Para que 2 sistemas que usan diferentes cdecs
puedan comunicarse, debe realizarse un transcoding.
Traducir entre cdecs.
Es muy costoso en CPU. Evitarlo en lo posible.
Son independientes del protocolo usado.

Introduccin a VoIP 25
Protocolos
Son un conjunto de reglas que regulan como es que
el emisor y el receptor entablan la llamada
Autenticacin, intercambio de datos, negociacin, etc.
Es necesario que ambas partes hablen el mismo protocolo.
Existen muchos protocolos que pueden utilizarse
para la comunicacin en tiempo real:
SIP, IAX2, H323, Skinny, MGCP, Skype, etc
Algunos protocolos estn estandarizados y son
abiertos (SIP, IAX2). Otros son cerrados (Skype)
Nos centraremos en los 2 protocolos ms
importantes para Asterisk.
Introduccin a VoIP 26
Protocolos: SIP
Session Initiation Protocol
Protocolo de Inicio de Sesin
Desarrollado por el Internet Engineering Task Force
El protocolo ms utilizado para VoIP en la actualidad
Es un estndar, con cientos de implementaciones en
software y hardware
SIP fue desarrollado en papel
Hasta su implementacin se detectaron problemas en su
diseo

Introduccin a VoIP 27
Dilogo de SIP
Se aprovecha de otros
protocolos para hacer su
trabajo
Session Description Protocol
(SDP)
Real Time Protocol (RTP)

SIP tiene 2 partes:


Sealizacin enviada en SDP
por el puerto 5060 UDP por
default
La voz viaja usando RTP por
un puerto aleatorio

Este diseo trae problemas


de NAT
Fuente: askozia.com Audio en un solo sentido
Introduccin a VoIP 28
Protocolos: SIP (2)
SIP nunca se dise para ser usado en telefona
Las instrucciones de SIP sirven para crear sesiones en
general (no explcitamente llamadas)
Se hizo para lograr que los recursos acten en conjunto,
usando un formato comn, y que permitan comunicarse.
Los encabezados SIP viajan en texto simple
Fcil de hacer debug, pero permite que sea susceptible a
sniffing.
Soporta encriptacin con el uso de mdulos adicionales (se
ver en la seccin de seguridad).
Hablaremos ms de SIP durante la introduccin a
Asterisk.
Introduccin a VoIP 29
Protocolos: IAX2
Inter Asterisk eXchange v2
IAX v1 es obsoleto. Cuando decimos IAX se da por
entendido que hablamos de la v2.
Creado por Mark Spencer (el autor de Asterisk) para
ser un protocolo de telefona desde el inicio
No es un estndar, por lo que no mucho hardware lo
soporta
Casi exclusivo para interconectar 2 equipos Asterisk
No solo transporta audio y video
Se utiliza tambin para compartir el plan de marcacin del
PBX.
Introduccin a VoIP 30
Protocolos: IAX2 (2)
Tiene notables ventajas con respecto a SIP
No tiene problemas con NAT porque usa un nico puerto
(UDP 4569)
Ahorra ancho de banda reutilizando los encabezados de
mltiples llamadas agrupadas.
Sus encabezados viajan en binario (tambin consumiendo
menor ancho de banda)
Es ms ligero (su stack completo cabe en una memoria 4KB)
Hablaremos ms a detalle de este protocolo en el
mdulo intermedio.

Introduccin a telefona/VoIP 31
DTMFs en VoIP
Previamente comentamos que en telefona
convencional, los tonos viajan como audio a travs
del par de cobre
En VoIP hay ms alternativas
Segn el cdec o protocol que usemos, tendremos 2
alternativas:
Inband (en banda)
RFC2833 (fuera de banda)
Una mala configuracin ocasiona que no se detecten
los tonos.
Ej. El receptor espera recibir tonos en RFC2833, pero
nosotros los enviamos en banda.
Introduccin a VoIP 32
DTMFs en VoIP (2)
Qu significa cada mecanismo?
En banda (inband)
Los tonos se envan como audio.
Susceptible a entrecortes de llamada.
Solo puede usarse en cdecs que no corten el audio de los tonos al
comprimir (como G711 o G726)
Fuera de banda (RFC2833)
Este es el mecanismo preferido para enviar tonos.
En lugar de enviar audio, enviamos seales (paquetes) que indican el
dgito presionado.
Todos los cdecs los soportan.
SIP puede usar ambos tipos (si el cdec se lo permite)
IAX2 siempre enva los DTMFs usando RFC2833

Introduccin a telefona/VoIP 33
En resumen
VoIP es ms avanzado, pero ms delicado
Hay ms detalles a considerar dentro de un sistema VoIP.
El cdec que usemos ser el responsable de la
calidad de la llamada
Nos corresponde a nosotros elegir el adecuado
SIP e IAX2 son los protocolos mejor soportados en
Asterisk
Cada uno tiene sus caractersticas y por lo tanto, sus usos.
Junto con el protocolo y los cdecs, es necesario
elegir como transmitiremos los DTMFs
Inband o RFC2833
Introduccin a VoIP 34
Evaluacin
No se olviden de contestar la evaluacin sobre lo
aprendido en este captulo:
http://enlaza.mx/quiz
Recuerda proporcionar tu correo electrnico y el
captulo que ests respondiendo.

Introduccin a telefona/VoIP 35
Introduccin #3
Linux
Ing. Christian Cabrera R.
Qu es Linux?
Sistema operativo de cdigo abierto.
Creado por Linus Torvalds en 1991
Similar a Unix y regido bajo la licencia
GNU/GPL
GNU Not Unix/General Public License
No necesariamente es gratuito
Muy usado en ambiente de servidores
Sin pago por uso del software (generalmente)
Sin recursos consumidos por una GUI
Comienza a tomar auge en distribuciones de usuario final
Difcil medir penetracin en mercado
No hay conteo de licencias activadas

Introduccin a Linux 37
Open Source
Es una filosofa que promueve el libre acceso y redistribucin
de la informacin
Permite que los desarrollos se mejoren a travs de una
comunidad, sin que deba haber una empresa detrs de ellos
La comunidad se encarga de mantenerlos/mejorarlos

Existen cientos de ideas y proyectos que son open source:

Introduccin a Linux 38
Licenciamiento
Todo el software (incluyendo el gratuito) tiene algn
tipo de licenciamiento
Comercial, Open Source, Shareware, dominio pblico,
freeware, etc
Las licencias determinan que es lo que el usuario
final puede hacer con el software:
Distribucin, alteracin, uso comercial, restricciones,
garanta, derechos, etc
La licencia GPL te permite alterar, copiar y usar libremente
el cdigo, siempre y cuando trabajos derivados se liberen
tambin como GPL

Introduccin a Linux 39
Distribuciones de Linux
Conocidas como distros
Varan en los paquetes que contienen, pero todas
usan el mismo kernel (ncleo)
Cualquier distribucin puede configurarse para
igualar a cualquier otra
Especializadas en diferentes entornos
Ej. Servidores, sistemas embebidos, usuario final,
telfonos mviles, etc
2 distros principales desde las que se derivan
las dems
Debian: su variantes ms famosas son Ubuntu y
Mint
RedHat: CentOS, Fedora, Mandriva son algunas de
sus derivaciones ms usadas

Introduccin a Linux 40
Para ver la lista completa de
distribuciones, consulta la imagen
Distribuciones de linux.png ubicada en el
DVD

Introduccin a Linux 41
Caractersticas de Linux
Free as in freedom
Libre, no necesariamente gratis
Cualquiera puede copiar, modificar y
redistribuir el cdigo. Inclusive, cobrar
por l
Multi-usuario, multi-proceso
Mltiples usuarios trabajando en un
mismo sistema
Fuerte nfasis en seguridad
Respaldado por una comunidad con
privilegios de modificacin (cualquiera
puede corregir el cdigo de alguien
ms)

Introduccin a Linux 42
Caractersticas de Linux (2)
Soporte modular altamente configurable
Puedes personalizar literalmente todo.
Si algo no cubre todas tus necesidades, puedes modificar el
cdigo.
Sistema universal de archivos
Todo dispositivo se puede identificar por una ruta y se
puede montar en cualquier lugar.
Control del sistema por lnea de comandos
Tener una GUI es opcional (y poco recomendada en
ambiente de servidores)

Introduccin a Linux 43
Lnea de comandos (CLI)
Ms fcil de automatizar
que una interfaz grfica
Ahorra ancho de banda al
administrarlo
Ideal para servidores

Control remoto por SSH


Telnet es inseguro
Nos permite transferir
archivos y tunelizar trfico

PuTTY es el software ms
usado para SSH

Introduccin a Linux 44
Editor de archivos: nano
Ms sencillo de usar que vi o vim.
Apto para principiantes, pero si ya se tiene control sobre otro editor,
puede usarse cualquier reemplazo
Editar un archivo de texto se hace con
nano <ruta al archivo>
Ejemplo
nano /etc/asterisk/sip.conf
Comandos bsicos:
Ctrl + O : confirmar y guardar Ctrl + W : buscar
Ctrl + X : guardar y salir
Si editamos un archivo que no existe, lo crearemos.
Es conveniente familiarizarse con el proceso, ya que lo
usaremos mucho durante el curso

Introduccin a Linux 45
Prctica 2.1

Instalacin de Linux
(Consulta tu manual de prcticas)
Sistema de archivos
Estructura jerrquica
(rbol)
Todo empieza desde
la ruta / (raz, slash)

Todo en Linux es
case-sensitive
Ej. Archivo.txt no es
igual a archivo.txt

Introduccin a Linux 47
Rutas
Rutas relativas
Aquellas que solo son vlidas
dependiendo de la carpeta donde se
est trabajando

Rutas absolutas
Son vlidas desde cualquier posicin amx:~# significa Estoy conectado
Comienzan siempre con / al equipo amx, en la carpeta home
del usuario root
Cmo saber en donde estamos
parados? amx:/etc/asterisk# significa
Observando el prompt Estoy dentro del equipo llamado
Comando pwd amx, en la carpeta /etc/asterisk. Soy
el usuario root
La # significa que tienes poderes de
root syncuser@amx:/root$ significa
El $ indica que no tienes privilegios Estoy en el equipo amx, dentro de
la carpeta /root. No soy root, sino
que soy el usuario syncuser

Introduccin a Linux 48
Ejecucin de archivos
En todo SO, existe una variable PATH
Determina la ruta default a buscar si el comando solicitado no existe en
la actual
Pueden verla usando echo $PATH desde el CLI

El PATH incluye parejas de directorios bin y sbin:


/usr/local/bin | /usr/local/sbin
/usr/bin | /usr/sbin
/bin | /sbin
Si el archivo que ejecutaremos est en el mismo directorio
donde estamos trabajando, es necesario prefijarlo con ./
Ejemplo: ./configure

Para que un archivo sea ejecutable, debe tener permiso de


ejecucin
Introduccin a Linux 49
Permisos de archivo
Todo archivo/directorio en A su vez, cada entidad puede
Linux tiene permisos para 3 tener diferentes permisos:
entidades diferentes: R -> Read (lectura)
Dueo W -> Write (escritura)
Grupo X -> Execute (ejecucin)
Todos los dems

drwxr-x--- 3 root root 4096 Nov 3 23:00 .


drwxr-xr-x 25 root root 4096 Oct 31 21:18 ..
-rw------- 1 root root 942 Sep 22 15:28 anaconda-ks.cfg
-rw------- 1 root root 2043 Nov 5 18:10 .asterisk_history
-rw------- 1 root root 25695 Nov 5 19:55 .bash_history
-rw-r--r-- 1 root root 24 Jan 6 2007 .bash_logout
-rw-r--r-- 1 root root 191 Jan 6 2007 .bash_profile
-rw-r--r-- 1 root root 176 Jan 6 2007 .bashrc
-rwxr-xr-x 1 root root 117 Oct 22 12:58 canales.sh
-rw-r--r-- 1 root root 100 Jan 6 2007 .cshrc
-rw-r--r-- 1 root root 191 Sep 26 17:59 ifcfg-eth0

Introduccin a Linux 50
Permisos de archivo (2)
Los permisos se asignan de manera binaria
(recordemos el orden RWX)
111 significa leer, escribir y ejecutar
101 significa leer y ejecutar, pero no escribir
100 significa solo leer
Convertimos el nmero a decimal
111 = 4 + 2 + 1 = 7
101 = 4 + 0 + 1 = 5
100 = 4 + 0 + 0 = 4
Escribimos el permiso en 3 dgitos decimales
754 significa dueo hace todo, grupo lee y ejecuta, todos
los dems solo pueden leer
Introduccin a Linux 51
Permisos de archivo (3)
Entonces:
755 permite que todos lean y ejecuten, pero solo el dueo
puede modificar el archivo
777 permite a todos hacer todo (inseguro!)
600 es muy restrictivo (solo el dueo puede leer o
modificar el archivo)
El usuario root puede modificar cualquier archivo,
an si no se le conceden los permisos para hacerlo

Introduccin a Linux 52
Comandos bsicos
Comando Descripcin Ejemplo

ls Enlista archivos y carpetas ls -la

cd Cambiar directorio cd /etc/asterisk

mv Mueve o renombra un archivo mv viejo.txt nuevo.txt


cp /etc/asterisk/sip.conf
cp Copia un archivo
/home/sip.conf
pwd Imprime el directorio actual pwd
Concatena archivos y los imprime a cat sip.conf
cat
pantalla sip_additional.conf
Despliega estadsticas de las tareas
top top
actuales
ps Muestra los procesos activos ps eF

Introduccin a Linux 53
Comandos bsicos (2)
Comando Descripcin Ejemplo

nano Editor de texto simple nano sip.conf

Despliega informacin de ayuda sobre


man man cp
una aplicacin

wget Descarga un URL wget http://asteriskmx.com

chmod, Cambia los permisos o el propietario de chmod 755 script.sh;


chown un archivo chown www-data /var/www

ssh Conecta con un host remoto usando SSH ssh 64.123.45.67

Copia de o hacia un host remoto usando scp file.txt


scp
SSH 64.123.45.67:/destino
grep Wrong password
grep Filtra texto basado en una RegExp
/var/log/asterisk/full
Introduccin a Linux 54
Comandos bsicos (3)
Comando Descripcin Ejemplo

more, less Pagina una salida de datos cat hola.txt | more

Empaqueta (agrupa) archivos, pero no tar cf backup.tar


tar
reduce el tamao total /etc/asterisk/*

gzip Comprime un archivo gzip -9 miarchivo.tar

crontab Edita o muestra el crontab del sistema crontab e

Encuentra archivos que coincidan con el


find find / -name file.txt
criterio proporcionado

passwd Cambia la contrasea del usuario actual passwd miusuario

Da el estado actual de puertos y conexiones


netstat netstat anpl
abiertas
Introduccin a Linux 55
Comandos adicionales
Comando Descripcin Ejemplo

iptraf Muestra estadsticas del trfico IP iptraf

Compila una aplicacin basado en reglas


make make; make install
del archivo Makefile
Gestor de paquetes del repositorio de
apt apt-get install links
Debian
Gestor de paquetes del repositorio de
yum yum install openvpn
CentOS/Redhad

links Navegador en modo texto links http://asteriskmx.com

Introduccin a Linux 56
Operadores
A veces no es conveniente la salida a pantalla
Ej. Imprimir reportes demasiado largos
Existen caracteres especiales que alteran el flujo de
datos
Son llamados operadores
Los operadores pueden concatenar mltiples flujos
para hacer todo en un solo proceso

Introduccin a Linux 57
Operadores (2)
> (mayor que)
Direcciona un flujo hacia un archivo/dispositivo
Si el archivo no existe, lo crea. Si ya existe, lo sobreescribe
cat file.txt next.txt > total.txt
>> (doble mayor que)
Igual que >, pero si el archivo ya existe, agrega el texto al
final
cat hoy.log >> siempre.log

Introduccin a Linux 58
Operadores (3)
< (menor que)
Redireccionamiento hacia atrs
Enva el contenido de un archivo hacia el proceso anterior
mysql -u root bd < /home/file.sql
; (punto y coma)
Permite introducir mltiples comandos por lnea,
introduciendo uno tras de otro
echo 1; echo 2; echo 3

Introduccin a Linux 59
Operadores (4)
| (pipe)
Enva la salida de un proceso hacia otro.
til para hacer filtrados o para evitar el uso de archivos
temporales
cat /var/log/messages | egrep -i Oct 10
$( )
Tambin pueden utilizarse comillas invertidas ` `
Evala un comando al momento e inserta el resultado en la
lnea en que fue invocado
apt-get install linux-headers-$(uname r)

Introduccin a Linux 60
Operadores (5)
& (ampersand)
Ejecuta un comando y lo enva al fondo.
Regresa el control del cursor inmediatamente
mysql -p < proceso_largo.sql &

&& (doble ampersand)


Ejecuta comandos en serie, si y solo si el comando
inmediato anterior termin sin errores
./configure && make && make install

Introduccin a Linux 61
Scripts
Archivos de texto que contienen comandos por lotes
Mayoritariamente escritos en bash, pero cualquier
intrprete instalado es vlido
La primera lnea del archivo determina el intrprete
Deben hacerse ejecutables previamente:
chmod 755 miScript.sh
Es conveniente programar tareas largas en scripts
para ejecutarlas rpidamente

Introduccin a Linux 62
#!/bin/bash Declaracin del intrprete. Nos dice en que lenguaje est escrito el script
# Invocar como: sync_grabaciones <ao> <mes> <dia>
# Ejemplo: ./sync_grabaciones 2012 07 13 Comentarios
ORIGDIR=/var/spool/asterisk/monitorDONE/MP3
DESTDIR=/mnt/Grabaciones
FILE1=/tmp/find`date +"%N"` Constantes o valores iniciales
FILE2=/tmp/find`date +"%N"`
YEAR=$1
MONTH=$2 Argumentos de invocacin
DAY=$3

if [ ! -n "$1" ]
then
YEAR=`date +"%Y"`
En caso de que no se le proporcionen argumentos
MONTH=`date +"%m"` de invocacin, creamos los nuestros propios
DAY=`date +"%d"`
Fi

touch --date "$YEAR-$MONTH-$DAY 00:00:00" $FILE1 Creamos archivos temporales con la fecha de
touch --date "$YEAR-$MONTH-$DAY 23:59:59" $FILE2 modificacin que calculamos previamente
if [ ! -d $DESTDIR/$YEAR/$MONTH/$DAY ]
then
echo "Carpeta $DESTDIR/$YEAR/$MONTH/$DAY no existe. Creando"
Nos aseguramos que la carpeta
mkdir $DESTDIR/$YEAR de destino (AO/MES/DIA), exista.
mkdir $DESTDIR/$YEAR/$MONTH
mkdir $DESTDIR/$YEAR/$MONTH/$DAY
Si no, la creamos
fi
echo Procesando $YEAR $MONTH $DAY
find $ORIGDIR -maxdepth 1 -type f -name "*.mp3" -newer $FILE1 -not -newer $FILE2 -mmin +3 -exec mv {}
$DESTDIR/$YEAR/$MONTH/$DAY \;
Ejecutamos la sentencia de movimiento
rm $FILE1
rm $FILE2 Eliminamos los archivos temporales Introduccin a Linux 63
Crontab
Automatizador de tareas de Linux
Aqu se programan las tareas de mantenimiento que el
sistema debe ejecutar a ciertas horas
Se edita con crontab e
Recibe 5 argumentos que indican la hora y fecha de
ejecucin:
Minuto de la hora (0..59)
Hora del da (0..23)
Mes del ao (1..12)
Da del mes (1..31)
Da de la semana (0..6)

Introduccin a Linux 64
Ejemplos de Crontab
0 * * * * /miscript.sh
Ejecuta un script personalizado al minuto 0 de cada hora,
365 das al ao

30 5 * * * /sbin/reboot
Reiniciar el servidor todos los das a las 5:30 horas

0 12 1 1 * /miscript.sh
Ejecuta un script al medioda del 1 de enero

30 18 * * 5 /bin/mysqlbackup.sh
Hacer un respaldo de MySQL todos los viernes a las 18:30
horas

Introduccin a Linux 65
En resumen
Linux es un sistema operativo de cdigo abierto
Recuerda: es libre, no necesariamente gratis.
Todas las rutas parten desde /
Estructura jerrquica. Todo el sistema de archivos es un rbol.
Bash es su lenguaje nativo
Los operadores nos permiten encadenar comandos
<, >, >>, &, &&, |, ;
Podemos programar tareas con scripts y agendarlas con
el crontab
Un script debe tener permisos de ejecucin (chmod 755)
Es preferible trabajar remotamente con SSH
Ms cmodo, y podemos controlar el equipo desde donde sea
Introduccin a Linux 66
Evaluacin
No se olviden de contestar la evaluacin sobre lo
aprendido en este captulo:
http://enlaza.mx/quiz
Recuerda proporcionar tu correo electrnico y el
captulo que ests respondiendo.

Introduccin a telefona/VoIP 67

Вам также может понравиться