Pues aquí otro caso de script para hacer cosas que podríamos hacer perfectamente con SNMP u otras herramientas avanzadas, la cuestión aquí es usar el mínimo de recursos posibles, así que vamos a tirar de cats y comandos muy básicos, ya que este script sirve para ejecutarse en casos de mucho estrés y para identificar un error que pueda salir detectar a que se debe.
Además nunca deja de ser interesante como acceder a información super básica de nuestro sistema :)…
Categoria: bash
bash, sh, ksh y todos sus amigos
Touch a un fichero con una fecha pasada
Ueee!!! pues post numero 100 con la etiqueta Linux! (todos sabemos que es GNU/Linux…) así que os dejo con un script de bash de cosecha propia, quizás se podría hacer de otra forma con menos líneas pero como me han dicho hoy… “en la docencia siempre tienes que comentar -yo lo hago así, pero hay varias formas de hacerlo-“, sabia frase ;)…
Sincronización de directorios remotos y locales con Unison
Venga, otro post de estos técnicos que tanto os gustan… muchos de vosotros conoceréis rsync, pero tiene la pega que es unidireccional, pero por suerte existe el unison, tiene una versión de consola y una versión gtk y es multiplataforma.
Ahora mismo nos vamos a centrar en el entorno de consola (¡yo administro servidores sin ratón!), además de que es super simple y sólo cabe comentar un par de cosas.…
ADRCI
[purge_adrci.sh]
ADRCI es un programa que sirve para gestionar logs, incidencias, alertas y trazas de aplicaciones de ORACLE, como por ejemplo las bases de datos. Es una herramienta útil para identificar y empaquetar las incidencias que nos puedan dar las bases de daos en algún momento y mandarlas fácilmente a Oracle para analizarlas.
purge_ADRCI.sh es un script que busca cuales son los homes de las bases de datos ORACLE instaladas en nuestro servidor y limpia los ficheros generados, como logs, incidencias, alertas y trazas mas antiguos de x dias (en este script definido en 30 dias).…
Transferencia de datos
Pues ale, acostumbrada a usar SNMP, me he visto obligada a buscar una alternativa para mirar el estado de la transferencia de datos de un servidor al no ser posible la instalación de este servicio :( (no por problemas técnicos, sino diplomáticos! xD)
El scriptillo es un poco cutre pero vale para ello. Usa el comando ifconfig y la transferencia total transmitida por el interfaz y hace un cálculo diferencial.
Espero que sea de ayuda a alguien :)…
Mandar mails desde el sistema a nuestro correo
Muchas veces cuando administras sistemas es un poco complicado saber qué es lo que le pasa a tus maquinas en cada momento o cuando aparece algún problema en alguna de ellas.
Para ello podemos configurar nuestra maquina para que nos mande correos cada vez que sucede alguna cosa.
El sistema internamente se manda mails, estos quedan normalmente en el directorio /var/mail/root, este fichero no es nada mas que un fichero de texto con la bandeja de entrada del usuario root.
Si en este directorio no tienes nada, lo mas probable es que no tengas el sistema configurado para mandar mails, así que a ello vamos.
Primero de todo será necesario que nuestro sistema tenga un servidor de correo smtp, es decir, el servicio que permite mandar mails.
# apt-get install exim4
También será necesario instalar un programa como transporte para mandarlos.
# apt-get install mailx
Este último será el gestor de correo que se encargará de mandar los mails al smtp interno.
También nos será útil para mandar el output de comandos a un mail.
cat report.txt |mail -s ‘Reporte del servidor `hostname`’ mi@correo.com
Si justo ejecutamos este comando, veremos que en nuestro correo no llega ningún mail, esto es porque tenemos que configurar el servidor para que pueda mandar correos al exterior.
Para evitar problemas de seguridad, sólo permitiremos que se pueda usar el smtp desde local. Para ello editaremos el fichero update-exim4.conf.conf
…# vi /etc/exim4/update-exim4.conf.conf
dc_eximconfig_configtype=’internet’
dc_other_hostnames=’nombrelocal’
dc_local_interfaces=’127.0.0.1′
dc_readhost=”
dc_relay_domains=’dominio.com’
dc_minimaldns=’false’
dc_relay_nets=”
dc_smarthost=”
CFILEMODE=’644′
dc_use_split_config=’false’
dc_hide_mailname=”
dc_mailname_in_oh=’true’
dc_localdelivery=’mail_spool’
Administrar los runlevels
Esto que andaba buscando el comando para modificar automáticamente los servicios que se arrancan en cada runlevel, ya que al no ser un comando que uso mucho, se me olvida siempre su nombre, y para no ir andando con cincuentamil comandos, a veces simplemente basta con entender un poco el sistema y hacerlo manualmente (en este caso pones una K o una S en los ficheros de /etc/rc.N, cada fichero hace referencia a un servicio).
Así que he encontrado un programa que está bastante chulo, se trata de sysv-rc-conf
# apt-get install sysv-rc-conf
y al arrancarlo tenemos esta amigable interfaz :)
¿Quién dice que la consola es difícil? :D…