jueves, 10 de enero de 2013

Comandos utiles para administración en UNIX / LINUX

Comando útiles en la administración de WAS en Unix o Linux

La administración sobre Windows como es de método gráfico muchas veces suele ser muy sencilla ya que se puede se pueden realizar muchas tareas de manera gráfica muy fácilmente, tal como:

Detener Servicios
Listar archivos
Navegar entre directorios
Crear directorios
Hacer busquedas
Editar archivos
Realizar Filtros
Comprimir y descomprimir Archivos
Matar procesos

entre otras cosas

Pero que pasa a la hora de llevar a cabo estas tareas en un SO donde solo es posible la linea de comandos?

Bueno pues aquí se muestra una lista con una breve descripción de algunos comando que sirven para realizar cada una de las tareas que se llevan a cabo en un ambiente windows en un SO Linux o Unix.

Lista de archivos

ls -lrt : Enlista los directorios de manera que el primero es el mas antiguo y el ultimo el mas recientemente modificado
ls -lrt -R : Lo mismo que el anterior pero además enlistara todo el contenido de los subdirecorio y subdirectorios de subdirectorios y asi sucesivamente

cd Directory : Para entrar a un directorio
cd .. : Para salir de un directorio

mkdir Directory_Name : Para crear un directorio.
rmdir Directory: Eliminar directorio.

lsvg :  Enlista los Volume Group de un sistema Unix

lsvg -l "volGrp" : Los File System montados en un Volume Group

lsvg -L "VolGrp" : Lista las características de un VG asi como su tamaño libre y ocupado, por lo que es útil para cuando queremos aumentar el tamaño de un FS y no sabemos si hay recursos disponibles.

vi : Editor de archivos de texto plano. Este comando es muy poderoso por lo que seria bueno consultar una guia dedicada para poder sacar todo el poder de esta utilidad.

tail -f File.log : Para monitorear un archivo en tiempo real.

grep -i "Cadena de texto" file.txt : Para buscar una cadena de texto en un archivo

df -g : Enlista los File Syetem Montados y su tamaño (libre y ocupado) en GB, se puede utilizar -m -k para MB o Kb.b

cp -Rf Directory Directory_Copy : Para copiar un directorio y su contenido.
cp File File_Copy : Copiar un archivo

find "Path" -name "file or Directory Name" 2>/dev/null : Para hacer busquedas de archivos y directorios. "2>/dev/null" es utilizado para que si el usuario no tiene permisos sobre algun archivo o alguna otra restriccion sobre algun directorio donde se trate de llevar a cabo la busqueda no arroje un "Access Denied" en la consola, o mensajes de caracter nulo.

ps -fea | grep -i "Java" : Enlista todos los procesos Java y su descripcion, lo cual es muy util ya que si recordamos los procesos de WAS son Java, de esta manera identificamos los procesos de WAS y podemos matarlos en caso de esta colgados.

ps -fea | grep java | awk '{print($2)}' : Enlista solo los PID de cada proceso Java

netstat -na | grep "port" : Sirve para identificar la conexiones de algun puerto, este es importante ya que alguna veces puede haber conexiones colgadas a algun puerto de WAS(por ejemplo el puerto 9080, 9443, etc).

netstat -na | grep "port" | wc -l : No arroja la cantidad de conexiones al puerto

netstat -na | grep "port" | grep -i "[Listen | Established | Time_Waiting]" | wc -l : Este arroja la cantida de conexiones a un puerto en algun estado Listen, Established, Time_Waiting entre otras. Se selecciona solo un estado [Listen | Established | Time_Waiting].

gzip `find {WAS_HOME]/ -name System*_*.log 2>/dev/null` : este comando es muy util si tenemos configurados los logs para que se cree uno diario ya que para no saturar el File System seria bueno comprimir los archivos logs diario, esto mediante un Shell programado en algun cron. Cabe mencionar que si manda un error de que la cadena es demasiado grande, seria bueno primero hubicarse en {WAS_HOME} y desde ahi ejecutarlo para no poner todo el Path en el comando.

{WAS_HOME}/java/bin/jar -cfv file.zip file : No apoyamos de la Java de WAS para poder crear un archivo ZIP

grep -Eoc "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}.* 200"  archivo.log : Nos ayuda a buscar una IP en un archivo log, para poder entender un poco mas este comando seria bueno tener en cuenta las Expresiones Regulares.

prtconf : En los Sistemas AIX/UNIX arroja la informacion del Servidor, tal como: IP, Mascara de red, subred, Memoria fisica, Memoria de paginacion, Tipos de procesador, etc.

traceroute IP/HostName: Sirve para hacer una traza hacia un punto destino, ya sea dentro de una red local o hacia internet.

kill -9 PID : Patar de manera ruda un proceso.

kill -3 PID : Genera un archivo javacore.txt en WAS_HOME con informacion de los metodos y clases que se estan ejecutando en algun proceso.


Hasta la proxima.