lunes, 21 de octubre de 2013

Rutinas útiles para programación de scripts bash (I)

Hoy voy a escribir un breve post sobre algunas de las rutinas de programación que suelo utilizar muy a menudo en mis scripts bash, y que resultan muy importantes y útiles para resolver muchos problemas.

Una de las verificación más comunes y utilizadas en la programación de scripts es la de validar si un archivo existe o no. Para el intérprete bash, que es el que utilizaré en los ejemplos de aquí en adelante, es tan simple como escribir lo siguiente en un archivo de texto plano y ejecutarlo:

miércoles, 18 de septiembre de 2013

Instalar y configurar x11vnc en openSUSE

En este artículo veremos brevemente como poner en funcionamiento el servicio x11vnc en openSUSE.

A diferencia de las instancias VNC's tradicionales que podemos configurar desde Yast, que básicamente son sesiones gráficas independientes controladas por el servidor gráfico (creo), x11vnc tiene la particularidad de que comparte el escritorio gráfico utilizado por el operador del equipo, osea, la sesión gráfica cero o X0.

domingo, 15 de septiembre de 2013

Reparar tabla corrupta en MySQL

Hace ya tiempo atrás luego de un fallo en uno de mis servidores de monitoreo tuve problemas con la base de datos de la herramienta Cacti que estaba montada en MySQL, donde el fallo indicaba a la tabla poller_item como el orígen del problema.

Con dicha información en las manos me puse a buscar como solucionar el inconveniente y el resultado es el que veremos en la siguiente entrada.

jueves, 12 de septiembre de 2013

Sincronización de archivos con el comando Rsync

Rsync es una herramienta genial que se encuentra disponible en la mayoría de las distribuciones Linux, Unix y Mac, y que permite realizar copias incrementales y diferenciales de archivos.

Particularmente en la mayoría de los casos solo la he usado para mantener sincronizados y actualizados los archivos de respaldo creados a partir de sus originales en una ubicación diferente, pero es una herramienta muy potente que permite realizar muchísimas otras cosas más avanzadas e interesantes.

domingo, 8 de septiembre de 2013

Configuración de claves públicas y privadas para establecer conexiones SSH sin autenticación

A veces necesitamos obviar el paso de introducir la contraseña cada vez que nos conectamos a otro equipo vía SSH, principalmente para aquellos casos en que necesitamos automatizar un proceso o tarea.

Evitar introducir la contraseña es totalmente posible, para ciertos casos de automatización podemos utilizar el intérprete expect que ya vimos en ésta entrada, pero también podemos configurar nuestro servicio SSH para que acepte llaves conocidas como veremos a continuación.

sábado, 31 de agosto de 2013

Configuración de cliente NTP en Linux Redhat y CentOS

Hoy les dejo los pasos que sigo para actualizar automáticamente la hora y la fecha de equipos basados Linux Redhat o CentOS.

A veces necesitamos mantener la hora actualizada de un equipo, esto lo podemos lograr conectándonos a servidores NTP remotos o locales dentro de la LAN. Sin embargo, configurar correctamente el cliente que accede al servicio NTP puede resultar a veces un tanto confuso para algo que debería ser tan sencillo como veremos a continuación.

lunes, 26 de agosto de 2013

Script bash para identificar el último día del mes

El caso de hoy lo he utilizado en un montón de scripts programados para realizar copias de seguridad, donde lo uso para determinar si el día en curso es el último día del mes, a fin de generar copias históricas mensuales que coincidan con cortes financieros, contables, etc.

Para identificar el último día del mes en un script bash es fundamental manejar el comando date, ya que dicho comando nos provee la información actual relacionada a la fecha, hora, semana, etc., y por supuesto, el último día del mes como se verá más adelante.

viernes, 23 de agosto de 2013

Script bash para procesar archivos según dias de antigüedad

Con este artículo hoy comienzo con una mini maratón de breves artículos referentes a comandos de consola y a scripts shell que pueden llegar a ser útiles en ciertas ocasiones.

También estaré experimentando con embeber código mediante Github Gists, ya que Syntax Highlighter ya no me convence del todo. Ahora bien, como Gist es un servicio "gratuito", tampoco se puede garantizar de que sea eterno, así que siempre dejaré copias de seguridad de los scripts en el propio contenido de los artículos de forma oculta.