Configurar LOGROTATE en sistemas Red Hat

Monday, 12. April 2010 12:29 | Author:pardellas

En sistemas Red Hat y todas sus variantes tenemos la opción de manejar la rotación de logs con logrotate, y evitar que los ficheros de log de los distintos servicios ocupen mucho espacio en disco.

Para configurar esto tenemos el fichero: /etc/logrotate.conf, donde podemos especificar directivas generales para la rotación de logs. Y en el directorio /etc/logrotate.d/ indicamos procedimientos de rotación para cada servicio de forma específica.

‘logrotate’  lo configuramos en un cron para que se ejecute de forma periódica. Ppor defecto ya viene configurado en el sistema, y si queremos lanzarlo manualmente para probar si está bien, ejecutamos:

# logrotate /etc/logrotate.conf  -f

Veamos un ejemplo con el servicio apache. Tenemos que crear un fichero de texto plano ‘apache’ dentro de /etc/logrotate.d/ con permisos 644. Vamos a configurar que los ‘logs’ de apache : acces_log y error_log, roten diariamente y se guarden durante 31 días. Y además configuramos que se compriman los logs rotados.

El contenido del fichero ‘/etc/logrotate.d/apache‘ quedaría así :

/log/apache2/access_log {

daily

rotate 31

copytruncate

compress

notifempty

missingok

}

/log/apache2/error_log {

daily

rotate 31

copytruncate

compress

notifempty

missingok

}

Lo que se indica al principio , es la ruta donde se guardan los logs y el nombre. Y el significado de los siguientes parámetros es el siguiente:

-         daily : para hacer la rotación de log diariamente

-         rotate 31: mantener las rotaciones 31 días

-         copytruncate: copia el archivo original de log y lo pone a 0

-         compress: comprime logs antiguos

-         notifempty: comprueba si está vacío el archivo log para entonces rotar o no

-         missingok: Si da error en fichero pasa al siguiente que no de error

Si necesitamos ver las posibilidades de configuración y otros parámetros, podemos consultar el manual con : ‘man logrotate’, en la consola de nuestro sistema.

Si queremos, se puede indicar, después de la rotación de log, que se reinicie el servicio ‘apache’ :

postrotate
/etc/init.d/apachectl restart > /dev/null
endscript

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:CentOS, Fedora, Red Hat, Sistemas, Tips | Comment (0)

Crear repositorio local de los DVD/CD para yum en Red Hat / Fedora / CentOS

Monday, 12. April 2010 12:13 | Author:pardellas

Una buen opción en una red de equipos con Red Hat/Fedora/CentOS, que no tienen acceso a Internet, es tener un repositorio en local. La idea es tener en un equipo todos los paquetes de instalación del DVD/CD’s de la distribución, para que estén disponibles si necesitamos instalar cualquier aplicación.

Primero generamos el directorio que alojará los depósitos en local:

# mkdir -p /var/pub/os  mkdir -p /var/pub/updates

De los discos de instalación de RHEL/Fedora/CentOS copiamos todo su contenido en el directorio /var/pub/os

# mount -t iso9660 -o ro /dev/cdrom /cdrom (el directorio /cdrom se ha creado previamente)

#cp -Rf /cdrom/*  /var/pub/os

Una vez copiado todo en el disco duro local, instalamos (si no lo tenemos) el paquete ‘createrepo’, incluido en los discos de instalación de Red Hat

#yum -y install createrepo

Ahora solo hay que ejecutar ‘createrepo’ sobre el directorio a fin de generar el repositorio para yum:

# createrepo /var/pub/os

Para acceder al repositorio creado, tenemos que añadir la siguiente línea en el fichero /ect/yum.repos.d/rhel-debuginfo.repo

[base] Linux $releasever – $basearch – base baseurl=file:///var/pub/os/ gpgcheck=0

Lo anterior es para acceder en local, si tenemos otro equipo con servidor ftp, por ejemplo y donde tenemos el repositorio, utilizamos la ip de dicho servidor.

Ahora podemos acceder a estos repositorios, haciendo uso de ‘yum’ como haríamos si tuviésemos acceso a Internet Primero hacemos :

#yum clean all
#yum chek-update

Podemos comprobar que repositorios está usando ‘yum’ mediante :

# yum repolist

y nos debe indicar el repositorio añadido anteriormente.

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:CentOS, Fedora, Red Hat, Tips | Comment (0)

Compartir archivos vía NFS en Linux

Tuesday, 12. January 2010 16:51 | Author:pardellas

Con NFS (Network File Sistem o Sistema de Ficheros de Red) podemos montar una partición de otro servidor en un directorio de otro servidor remoto como si fuera una partición local

Necesitamos tener instalado nfs-common y portmap si queremos utilizar los recursos NFS compartidos de otro servidor o para poder compratir y acceder, instalar : nfs-kernel-server y portmap

comprobar que está inciado el servicio :

# ps aux | grep portmap

Para compartir un directorio del servidor, hay que editar fichero /etc/exports y añadir como ejemplo :

/var/ejemplo *(rw,no_root_squash,snyc)

Sigue la forma :

directorioacompartir maquinasconlasquecompartir(opcionesdeexportación)

Con ‘*’ indicamos que se puede acceder de cualquier ip, y si pones ‘ro’ solo se permite acceso de lectura.

Utilizamos los fichero /etc/hosts.allow/etc/hosts.deny para configurar acceso y seguridad :

/etc/hosts.deny
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

Para que tengan efectos los cambios : # exportfs -ra , y tenemos el servidor NFS funcionando

Ahora toca conectarse a esa máquina, para ello montamos en nuestro equipo el recurso compartido en un direcotorio local :

Podemos ver que contenido comparte una máquina : # showmount -e IPSERVIDOR

Usamos el comando mount para acceder:

# mount IPServidorNFS:/DirectorioCompartido PuntodeMontaje

# mount 192.168.1.59:/var/backup /mnt/temporal_nfs

Para mantener este recurso cuando se reinicie la máquina hay que añadir línea al fichero /etc/fstab :

192.168.1.59:/copias /home/copias  nfs rw,hard,intr 0 0

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:Sistemas | Comment (0)

Ejecución de un comando en segundo plano o abandonando la shell

Thursday, 12. November 2009 13:08 | Author:admin

Si necesitamos que un proceso se ejecute en segundo plano en nuestra shell activa o para evitar que se interrumpa si salimos de la shell (por ejemplo cuando estamos conectado con Putty al servidor y se desconecta el terminal)

# nohup  proceso  &

nohup : mantiene activo el proceso o el script que hemos iniciado aunque cierres la sesión de shell
& : hace que el proceso se ejecute en segundo plano hasta que termine

Para retornar al programa o proceso utilizamos:  ‘fg’‘exit’

La salida del programa que lanzamos con ‘nohup’, que normalmente se muestra en la terminal, se guarda en un fichero ‘nohup.out’ que se guarda en la ruta desde donde hemos lanzado nohup.

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:Linux, Sistemas, Tips | Comment (0)

Limitar uso de CPU por aplicación o proceso en Debian, Ubuntu

Thursday, 12. November 2009 12:34 | Author:admin

A veces necesitamos una solución para poder limitar el uso de CPU que hace una aplicación o proceso en nuestro sistema Linux. Hay aplicaciones devoradoras de tiempo de proceso. Aunque tenemos la posibilidad de configurar /etc/security/limits.conf para indicar ‘tiempo’ de uso de CPU, si queremos indicar valores en porcentajes, tenemos la utilidad ‘cpulimits’. Para instalarlo en sistemas Debian, Ubuntu:

Tenemos el programa en http://cpulimit.sourceforge.net

# tar zxf cpulimit-xxx.tar.gz
# cd cpulimit-xxx
# make

Con esto tenemos la aplicación cpulimit, que podemos copiar a /usr/bin

Algunos ejemplo de uso; por ejemplo para limitar por aplicación y que no utilice más del 60% de CPU:

# cpulimit -e  firefox  -l 60

Si queremos indicar el proceso :

# cpulimit -p 1420 -l 30

Podemos buscar el PID de la aplicación :

# ps aux | grep firefox

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:Debian, Linux, Sistemas, ubuntu | Comment (0)

Desactivar cuenta usuario Linux

Monday, 9. November 2009 12:17 | Author:admin

A veces necesitamos desactivar una cuenta de usuario en un servidor Linux, para que no se apueda acceder con ese usuario temporalmente. Hablamos de desactivar la cuenta, no de borrar usando el comando ‘userdel‘, que en ese caso elimina la cuenta del sistema, borrando del archivo :’/etc/passwd’  la configuración del usuario, y la contraseña cifrada en el archivo ‘/etc/shadow’. Además de eliminar los datos del usuario en : ‘/home/usuario’

Para desactivar de manera temporal un usuario en un sistema GNU/Linux, podemos usar el comando :

# passwd -l usuario

Que lo que hace es bloquear la cuenta que indicamos, por medio de poner el signo (!) delante de la contraseña cifrada, e impedir acceso con esa cuenta al sistema. Podemos también hacer lo mismo para bloquear un usuario,  editando manualmente el archivo : ‘/etc/shadow’ , donde localizamos el nombre de usuario y en el segundo campo de datos, que es la contraseña cifrada insertamos el signo ‘*’. Con esto el usuario no puede tener acceso en el sistema

Para activar la cuenta de usuario que hemos bloqueado con el comando anterior usamos:

# passwd -u  usuario

O en sus caso, eliminar el signo ‘*’ del fichero ‘/etc/shadow’ si lo editamos manualmente para bloquear al usuario o cuenta.

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:General, Linux, Tips | Comment (0)

Como saber que versión de Ubuntu, RedHat o Linux tenemos instalado

Tuesday, 20. October 2009 17:29 | Author:admin

A veces suele pasar, no sabemos que versión de Sistema Operativo instalamos en su momento, o tienes que acceder a un server para ayudar :-) En cualquier caso, para saber que versión tenemos de Ubuntu o Debian instalado en el server:

# lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 7.04
Release:        7.04
Codename:       feisty

En caso de tener una Red Hat o CentOS :

# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

O también consultando en el siguiente fichero, es válido para Linux en general:

#cat /etc/issue
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
Kernel \r on an \m

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:CentOS, Fedora, Red Hat, Sistemas, Tips | Comment (0)

Mini-sopa de elementos [HTML]

Wednesday, 14. October 2009 17:59 | Author:admin

A veces necesitamos hacer una página web con un pequeño editor para colgar algo de urgencia o para hacer una prueba. Pues rápido.. , una pequeña chuleta con lo más importante para crear esa mini-página.

La estructura básica de una página en HTML (con el editor, después guardamos con extensión ‘.html’ :

<html>
<head><title>Web Ejemplo</title></head>

<body>
Aquí ponemos el contenido usando las etiquetas que resumo después para organizar contenidos
</body>

</hmtl>

Y una mini chuleta con las etiquetas más básicas para formatear el texto, títulos, poner enlaces a otra web,imágenes…:

  • <p></p> : divide los textos en párrafos
  • <br> : cambiar a otra línea (como retorno de carro)
  • <h1></h1>,<h2></h2>,,<h5> : cabeceras o títulos de sección, a número más pequeño sección y tipografía más pequeña.
  • <code></code>, <pre></pre> : usado para indicar código de ejemplo o reflejar ‘tal cua’l lo que escribimos en el navegador, o indicar un comando de ejemplo, etc.
  • <q></q> quote , añade comillas
  • <blockquote></blockquote> : interesante par añadir citas dentro de un párrafo
  • <hr> para dibujar una línea horizontal y dividir secciones
  • <b></b>,<strong></strong> Ponemos en negrita o destacada las palabras
  • <ul></ul>, <ol></ol> para crear listas ul: no ordenadas, y ol, las crea ordenadas en orden ascendente por defecto. Cada elemento lo ponemos con <li></li>
  • <a href=”url”>Enlace</a> : básica para enlazar a otra web o página
  • <img src=”imagen.gif”>

** para acentos recordar que hay que poner : á -&aacute;  é-&eacute;  í-&iacute;  ó-&oacute;  ú-&uacute; en su lugar. Por ejemplo para que se vea bien en navegador ‘página’, se pone en la codificación html : p&aacute;gina.

Con lo anterior y un simple editor se puede sobrevivir para realizar un archivo html de urgencia :-)

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:Tips, Web, html | Comment (0)

Acceder por SSH y SCP a servidores con clave pública y privada

Friday, 18. September 2009 14:27 | Author:admin

Poder acceder a nuestros servidores utilizando el par de claves pública/privada no es solo útil pra no tener que estar introduciendo la contraseña cada vez que accedemos, sino por que a lo mejor necesitamos ejecutar un script de shell que tiene que mover datos o ficheros entre servidores. Vamos a ver como hacerlo.

Crear las claves pública y privada

Lo hacemos desde el directorio $HOME del usuario del servidor

# ssh-keygen  -b  4096  -t  rsa

Se genera entonces las dos claves con el sistema RSA en el directorio oculto .ssh : $HOME/.ssh/id_rsa , $HOME/.ssh/id_rsa.pub

Copiamos la clave pública al servidor o host

Y esa clave la almacenamos en el fichero ‘authorized_keys, dentro de .ssh (los permisos tienen que ser 600 , es decir #chmod 600 .ssh/authorized_keys) Comprobar “muy importante”, que el direcorio oculto .ssh del directorio $HOME del usuario tenga los permisos a 700 (# chmod 700 $HOME/usuario/.ssh )

# scp .ssh/id_rsa.pub  ip_servidor:.ssh/clave_new
# ssh ip_servidor
# cd .ssh/
# cat clave_new >> authorized_keys
# rm clave_new

La primera vez que se accede a un servidor se guarda su host_key en el fichero $HOME/.ssh/know_hosts.
Entonces ya podemos utilizar ssh y scp con ese servidor sin tener que proporcionar la clave en cada conexión. Esto lo tenemos que hacer con cada servidor, y sirve a la par también de forma recíproca.

Si queremos hacer lo mismo con un cliente Windows y estamos usando Putty para acceder vía ssh, en la web de Putyy tenemos la aplicación Puttygen , para generar el par de claves pública/privada. Hacemos lo mismo que lo anterior, añadir la clave pública a ‘authorized_keys’ del servidor. Pero copiamos la que viene indicada como : ‘ Public Key for pasting into openSSH authorized_keys file ‘ , no la que hemos guardado con el botón. Ver imagen.

putty_keygen

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:Linux, Sistemas | Comment (0)

Tareas automatizadas con cron en Linux

Thursday, 17. September 2009 12:16 | Author:admin

Si necesitamos que un script o un comando o tarea se ejecute regularmente, usamos el planificador estándar de Linux ‘cron’ . Si queremos que algo susceda todos los días, o los sábados de cada mes a una hora eterminada, una tarea cron lo puede hacer por nosotros :-)

El ‘demonio cron’ comprueba cada minuto si hay que hacer algo o si ha cambiado alguna tarea cron. Para añadir tareas al cron o ver las que contiene, se edita el fichero /etc/crontab [ o con el comando 'crontab -l', nos da la lista de tareas cron. Para editar 'crontab -e' (ojo! editamos las tareas del usuario con el que estamos logeado) ]

Cada línea del archivo crontab contiene la especificación del día/hora y el comando o script a ejecutar:

minuto   hora   día-del-mes   mes   día-de-la-semana   comando

  • minutos : valor entre 0 y 59
  • hora : valor entre 0 y 23
  • día-del-mes : 1 y 31
  • mes : entre 1 y 12
  • día-de-la-semana: entre 0 y 7 (0 y 7 es domingo)
  • un (*) significa cualquier valor
  • Dos valores separados por guión indica un rango. Por ejemplo 1-3 en campo mes, indica de Enero Marzo)
  • Para indicar más de un valor, separar por comas
  • el modificador (/) indica con su valor las unidades que se incrementa entre valores. Un valor en mes */4 , indica cada cuatro meses.

Algunos ejemplos :

5  *  *  *  * rm /tmp/*.gif # elimina cada 5 minutos los archivos GIF

0  7  1   *   *  /home/usuario/copiadeseguridad.sh # ejecutar todos los primeros de mes un script (copia de seguridad) a las 7:00 de la mañana :

Compartir:
  • BarraPunto
  • del.icio.us
  • Facebook
  • Digg
  • Bitacoras.com
  • Twitter
  • Meneame
  • email

Category:Linux, Sistemas | Comment (0)