Javier Barber
Senior Sysadmin Freelancer
Category Archives: Unix
COMANDOS PARA SABER IP DE UN HOST
$ nslookup www.google.es $ host www.google.es $ dig www.google.es Si queremos almacenar en una variable la IP de un host, podemos usar: ip=`nslookup www.google.es | awk ‘/Address: [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ {print $2}’` Ojo con el comando anterior ya que nslookup puede devolver varias IP’s. En ese caso, el comando anterior sería erróneo.
AÑADIR COLORES A LA CONSOLA
– Alias para visualizar logs coloreados alias syslog=’tail -f /var/log/syslog | ccze’ alias weblog=’tail -f /var/log/squid/access.log | ccze’ – Alias para colorear los resultados de grep alias grep=’grep –color’ – Colores en el MAN Instalamos el paginador «most» Añadimos la siguiente línea en /etc/bash.bashrc o en ~/.bashrc: export PAGER=»most»
BUSQUEDA DE DIFERENCIAS DE FICHEROS EN DIRECTORIOS DISTINTOS
Teniendo un fichero «lista» donde hay un nombre de fichero con su ruta relativa por cada línea, que sabemos que existe en 2 directorios distintos, si queremos buscar las diferencias entre ambos ejecutamos: # for i in `cat lista`; do echo;echo «Fichero $i»;echo;diff /home/directorio/$i /home/directorio2/$i;done
BUSCAR FICHEROS MODIFICADOS EN UNA FECHA DETERMINADA
$find ruta -type f -mtime -66 El anterior comando busca sólo ficheros modificados en los últimos 66 dias y los lista. $find ruta -type f -mtime -66 -exec ls -l {} \; El anterior busca los mismos ficheros pero además le hace un listado largo. $find ruta -type f -mtime -66 -exec ls -l {}…
CALCULAR LA FECHA TENIENDO LOS SEGUNDOS DESDE EL 1 ENERO 1970
date -u –date «Jan 1, 1970 00:00:00 -0200 $i seconds» Si tenemos un fichero con una lista de segundos: $ for i in `cat fechas` ; do date -u –date «Jan 1, 1970 00:00:00 -0200 $i seconds»; done >>fechasfinal El «-0200» es para regular el huso horario. Puede ser que tengamos que poner «-0100». Si…
FICHEROS .bashrc Y .bash_profile
~/.bahs_profile –> Se ejecuta cuando iniciamos nuestra sesión ~/.bashrc –> Se ejecuta cada vez que se ejecutemos el programa bash Si los metemos en /etc tendrían efecto para todos los usuarios.
DESCOMPRIMIR UN .tar.gz CON UNA EJECUCIÓN
$gunzip -c foo.tar.gz | tar xvf – (La opción -c indica a gunzip que ponga en la salida estándar la salida del comando) $gunzip < archivo.tar.gz | tar -xvf –
PROGRAMACIÓN DE BACKUPS DE ORACLE
Primero establecer las siguientes variables de entorno en el .profile del usuario de oracle: PATH=$PATH:/export/home/oracle/bin ORACLE_SID=nombre_bbdd ORACLE_HOME=/export/home/oracle Crear el siguiente script con root: ********************************************************************** #!/usr/bin/bash #Script de backup de la Base de Datos Oracle FECHA=`date +%y-%m-%d-%H-%M` FECHA2=`date +%y-%m-%d` MAQUINA=`uname -n` su – ora10 -c «exp userid=system/itecban full=y log=/export/home/ora10/exports/export_»$MAQUINA»_$FECHA.log inctype=complete constraints=Y fil e=/export/home/ora10/exports/export_BBDD_»$MAQUINA»_$FECHA && /usr/bin/gzip /export/home/ora10/exports/export_BBDD_»$MAQUINA»_$FECHA2*.dmp…
COMPROBAR EL CONTENIDO DE UN FICHERO
#!/bin/bash if grep -q ‘kde’ /home/usuario/documentos/notas then echo ‘Se ha encontrado la cadena en el fichero’ else echo ‘No se ha encontrado la cadena en el fichero’ fi
MEDIR EL TIEMPO DE EJCUCIÓN DE UN COMANDO EN BASH
$ time comando