Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas

22.3.08

La aplicación que se cae

Todos hemos tenido alguna vez el problema de que una aplicación se cierra sin motivo aparente, y si esa aplicación es el emule/bittorrent/ares etc toca mucho la moral porque es tiempo que va a tardar de mas en descargar lo que sea, así que si pudiéramos darnos cuenta de que se ha caído y volverlo a poner solo unos minutos después seria una buena idea pero claro ... si no estas todo el día en frente del pc es complicado.

A menos que tengas un espía!, este es mi espía:


#!/bin/bash
PID=$(pidof $APLICACION)

if [ "$PID" = "" ]
then
echo $(date +"%d %m %Y - %H:%M:%S") reiniciando aplicacion >> $HOME/crash.log
$APLICACION 2>&1 > /dev/null
fi



Luego añadimos la siguiente linea al cron:

0,15,30,45 * * * * $HOME/scripts/crash.sh

y ya esta, cada 15 minutos se comprobara si la aplicación esta funcionando y si no la volverá a lanzar.

NOTA: manda la salida del programa a la porra (/dev/null) y el log es cuuutre pero para mi sobra

26.11.06

Guia para parecer que sabes algo (Capitulo 1)

Un dia llegas a un lugar no determinado donde hay ordenadores y da la casualidad de que lo tienes que usar pero valla sorpresa es uno de esos escasos ordenadores que no usa Windose sino un sistema de tipo Unix.

Aqui llegamos al primer punto de lo que tienes que saber para no quedar mal ya que has dicho en tu curriculum que sabes manejar sistemas Unix no llames a todo linux esto puede no ser linux asi que por ahora manten la boca cerrada y sonrie que disimularas mejor.

Paso 1

Tambien llamado: "Empezando a quedar bien para que tu jefe no se de cuenta de lo malo que eres"

La teoria para despistar al jefe empieza diciendo en Unix todo es un stream, los procesos de almacenamiento funcionan como streams, las consolas funcionan como streams, los procesos se comunican por medio de streams todo son streams en Unix.

Puede que esto impresione al jefe durante unos pocos segundos pero ... despues de todo el tambien esta acostumbrado a hablar sin tener ni puta idea asi que es hora de teclear algo, presignate y teclea lo siguiente

$ ls > /dev/null #esto hace que el comando ls no devuelva nada por pantalla

Mmmm valla esto por ilustrativo que parezca no devuelve nada eso es un problema
cuando lo que quieres hacer es impresionar a alguien asi que vamos a escribir algo
que devuelva un resultado

$ ls -l | grep Aug | wc -l

Esta linea lista los ficheros del directorio actual, luego busca las que contengan
la cadena Aug y las cuenta quiere decir que cuenta los ficheros que fueron modificados
en agosto!

Ahora si parece que sabes, lo mas probable es que tu jefe te deje en paz y se valla
ahora viene lo complicado tendras que hacer el trabajo para el que te contrataron...

Y sigues sin saber absolutamente nada, asi que antes de dejarte morir en frente de una
pantalla te dejare algo de ayuda al menos hasta el siguiente capitulo, esto es como
obtener ayuda:

$ man ls

Esto tiene que devolverte algo de informacion a cerca del comando ls y si eres un poco
agil te daras cuenta que el comando es intercambiable asi que como dije una vez y ahora
repito "esto es la base de todo" ya sabes manejar sistemas Unix ....

Ahora vas y te lo crees que nooo pero de momento te has ganado una galleta y si sigues
asi a lo mejor conseguiras que tu jefe no te eche

30.10.05

El truco rapido del dia!



Como montar una ISO en linux (sin bajar programas, sin lios, sin preocupaciones ...)

#mount -o loop archivo.iso /mnt/carpeta_para_la_iso

Y asi de rapido ha sido (yo cada dia me sorprendo mas :))

7.7.05

Tutoriales


Pues eso que he encontrado apuntes en papel que tenia sobre cosas de como programar con las librerias de GNU/Linux y he decidido hacer 3 pequeños tutoriales, con lo cual los dejo aqui para el que los quiera ver que los vea y los que quieran aportar para mejorarlos tambien ayudaria bastante.

Capitulo1 - Averiguando la ruta de nuestro ejecutable
Capitulo2 - Obteniendo informacion del S.O
Capitulo3 - Leer una sola tecla de la consola

Recomendacion y/u/o nota darle a bajar y los veis ya bajados porque el lugar donde esta el hosting tiene la mala costumbre de convertir los caracteres acentuados y eñes en popurris indescifrables.

Espero ir poniendo otros tutoriales de vez en cuando pk a la que los escribo aprendo yo mucho tambien

30.6.05

Truquillos en Debian

Pues eso que despues de varios dias de formateo intenso... Puto windose... me he vuelto a poner una flamante Debian Sarge recien descargada ya como estable (Por finnn) y me he encontrado con varias cosas que ya me habian pasado antes no muy dificiles de solucionar pero si un poco engorrosas, ahi va para los que se animen a instalarla:

* Los menus del XMMS se ven con una letra muy pequeña

Razon: XMMS y otras aplicaciones donde se ve la letra muy pequeña son aplicaciones gtk, estas aplicaciones no tiran de la letra que tenemos configurada para gnome en cambio las de gtk2 si por eso algunas aplicaciones se ven bien y otras no (si meto la pata dejarme un comentario y lo arreglo xD)

Solucion: Instalar las fuentes xfonts75dpi-transcoded y xfonts100dpi-transcoded, para hacer esto escribimos en la consola siendo root apt-get install xfonts75dpi-transcoded xfonts100dpi-transcoded

* No se puede instalar aMule (un clon de emule para linux)

Razon: aMule no es un paquede estandar de debian y por eso mismo no esta en los repositorios oficiales.

Solucion: nos vamos a /etc/apt/sources.list y editamos el fichero como root, añadimos la siguiente linea al final del fichero:

deb http://www.vollstreckernet.de/debian/ testing amule wx

y cambiamos la linea
deb ftp://ftp.loquesea.ea/debian/ stable main
por
dev ftp://ftp.loquesea.ea/debian/ testing main

luego guardamos el fichero y estando en la consola como root:

hacemos un apt-get update --> esto pide una lista de los nuevos paquetes a los repositorios, como acabamos de meter un repositorio pues se descargara la lista

luego apt-get install amule

despues de ello volvemos al sources.list quitamos los testing, y comentamos la linea del repositorio de amule y luego le volvemos a dar a apt-get update (o no si queremos quedarnos en testing), consejo nunca dejeis unos repositorios a testing y otros a estable se llevan mal

8.6.05

Quemando el Shell

Esto esta originalmente sacado y traducido de < href = "http://www.linuxgazette.com/node/10239">:

Pues eso que despues de que llevas un monton de tiempo usando VS.Net para hacer de todo y la vida te parece facil (Iluso) te encuentras con que todo se puede hacer realmente facil usando algo tan comun como el shell.

La idea es acceder a una base de datos Oracle desde bash cosa que no viene siendo nada dificil salvo por:

* Oracle tiene que estar instalado
* Tienes que entender ingles (menos pa esto que lo he traducio yo)

####################
#Inicio del ejemplo#
####################

read << empId

#el -s se usa para que no nos mande todos los mensajes a la pantalla

export empName=`sqlplus -s ${ORA_USER}/${ORA_PASS}@${ORA_INSTANCE} < @

set pages 0

set head off

set feed off

SELECT emp_name

FROM EMP_TABLE

WHERE emp_id = $empId;

@`
#la arroba viene siendo cualquier fichero temporal que creamos desde el cual sqlplus
#lee los comandos

echo "Employee Name is $empName"

status=`echo $empName | grep -c 'ORA-'`

if [ $status -gt 0 ]; then

echo "\nERROR : Unable to fetch the Employee Info ....\n"

Exit 1

fi

#finalmente si en vez de usar lo que hemos puesto anteriormente queremos usar un
#script sql que ya tenemos grabado hariamos:

echo `sqlplus -s ${ORA_USER}/${ORA_PASS}@${ORA_INSTANCE} < ~/DbBackup.sql`