Posted by & filed under internet, linux, programacion.

Hace rato que vengo queriendo escribir un post sobre esto, espero que hoy me ilumine y las palabras fluyan correctamente.

¿Que es un Script?

Quizá alguna vez hallamos escuchado script como ‘guión’ o ‘libreto’ en el ámbito de la actuación y me parece una analogía adecuada. Un script en computación lo podemos interpretar como un guión que la computadora lee y efectúa las operaciones detalladas.

Generalmente dichas operaciones son sencillas y pueden ejecutarse manualmente mediante una consola de comando, la ventaja de realizar un script radica en realizar la misma operación de manera automatizada y además podemos aprovecharnos de ciertas estructuras de datos.

Vamos a los bifes

Dada ya una introducción bastante genérica, voy a intentar ejemplificar un poco para quitarle cierto aire de abstracción. Quizá recuerdes que en el post sobre mi ‘hack’ a cuentas de facebook (link) utilizé un script sencillo pero para no ser repetitivo voy a poner otro script, uno que mientras mirás este artículo se está ejecutando en el server.

Dado que no pago un host y que mi ISP me provee de IP dinámica; para montar mi propio server si o si requiero de los servicios de un DNS . El problema radica de cuando mi ip cambia, tener que actualizar el dominio.

Eso se puede hacer con un simple wget  a mi DNS, que en criollo es como decirle ‘ehh amigo, cambié de ip, fijate que ip tengo ahora y actualiza mi dominio‘, pero dado a querer realizar esta operación de manera automática decidí arremangarme un poco y llegué a esto

#!/bin/bash
LOC=/home/server/dynamic
OLDIP=$(ls $LOC/*.IPADDR)
NEWIP=$(wget http://www.whatismyip.org -O - -q)
if [ "$OLDIP" != "$LOC/$NEWIP.IPADDR" ]; then
    echo La ip ha cambiado, tu ip es $NEWIP
    mv $OLDIP "$LOC/$NEWIP.IPADDR"
    $LOC/updater
else
    echo La ip no ha cambiado, tu ip es $NEWIP
fi

Como vemos en una simples líneas, logramos automatizar una tarea que bien pudimos hacer manual.
De esta manera, logramos funcionalidad personalizada y a gusto del consumidor sin necesidad de recurrir a programas externos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *