Script de Linux para controlar el uso de memoria

Una entrada rápida: Un script de linux para controlar el uso de memoria en Linux, que además envía un email a la cuenta que le digamos.

#!/bin/bash
while [ true ] ;do
used=`free -m |awk 'NR==3 {print $4}'`
 
if [ $used -lt 900 ] && [ $used -gt 700 ]; then
echo "Uso elevado de memoria, hay menos de 900 megas libres." | /bin/mail -s "USO ELEVADO DE MEMORIA" micuenta@midominio.com
 
 
fi
sleep 5
done

Algunos comandos básicos de GNU/Linux

Tal vez no seas un administrador de Linux, pero puede que te interese conocer ciertos comandos para trabajar con el terminal. Ya sea por curiosidad, porque estás haciendo un curso o por si algún día te encuentras con algo que requiera hacerse desde la línea de comandos, este conocimiento nunca sobra

Seguidamente os listo una serie de comandos básicos para la administración de Linux por terminal, que te ayudarán a llevar a cabo tareas simples de administración y mantenimiento del sistema.

  • man: Si estás empezando man es el comando más importante. Este comando te permite conocer toda la información sobre otros comandos, sacar el “manual” para conocer sus opciones, qué hace, etc. Se utiliza poniéndolo seguido del comando que quieres conocer, por ejemplo man ls te mostraría la información sobre el comando ls.
  • su y sudo: El comando su (switch user) te permite cambiar tu login por el de otro usuario. Por su parte sudo te permite realizar una acción concreta como los permisos de root, el superusuario del sistema. El comando su en muchos sistemas te permite además loguearte como superusuario (por eso mucha gente cree que significa super-user) haciendo su -root. Tanto para usar sudo como para loguearte como root con su se te requerirá la contraseña del sistema.
  • grep: Grep nos permite buscar un texto plano que coincida con una expresión regular. Por ejemplo grep “foo” /etc/passwd devolverá todas las líneas del archivo passwd que contengan la cadena foo. Se puede usar la opción -i para que busque la cadena con variaciones (mayúsculas, acentos) o -r para que busque recursivamente en todo el árbol de directorios.
  • ps: Si queremos saber el status de un proceso nuestra herramienta es el comando ps. Combinado con grep, además, te dará la información de ese proceso buscando por el nombre, por ejemplo ps -ef | grep apache nos devolvería el status del proceso apache.
  • kill:“Computer, kill Flanders”… Homer Simpson debe creer que el comando funciona así, pero no… xDDD Kill nos permite “matar” un proceso concreto del sistema, ya sea porque se haya quedado bloqueado o por necesidades de memoria. Usando el anterior comando ps podrás ver el id de los procesos, id que necesitarás para liquidarlos con kill. Por ejemplo kill 1111. A veces no te dejará matar así un proceso por cuestiones de seguridad (otros dependen de él, hay riesgo de pérdida de datos…). Si crees que es absolutamente necesario matar el proceso puedes forzar su eliminación con la opción -9 tal que así: kill -9 1111
  • clear: Si tienes el terminal lleno de texto, demasiado “enguarrado” basta con ejecutar clear y “limpiará” la pantalla. Realmente no elimina lo que has escrito antes, simplemente mete un montón de líneas de texto vacías para sacar de tu vista todas esas líneas, que se pueden hacer muy engorrosas.
  • hostname: El nombre del equipo al que estás conectado.
  • cp: Copia el archivo que elijas en la ubicación que quieras. Por ejemplo cp hola.txt holacaracola.txt hará una copia del primer archivo en uno llamado como el segundo. En este caso las hemos hecho en el mismo directorio, pero podíamos haber especificado otro poniendo toda la ruta en el archivo de origen o destino.
  • mv: Su funcionamiento es similar a cp, con la diferencia de que en lugar de hacer una copia lo que hace es mover el archivo original a la nueva ubicación. Funciona como el cortar de Windows.
  • pwd: ¿Onde carallo estou? El comando pwd te dice en qué directorio te encuentras.
  • rm: El comando utiliado para borrar un archivo. Si utilizas la opción -i el sistema te pedirá, como medida de seguridad, que confirmes la acción. Si quieres borrar una carpeta con todo su árbol de hijos has de usar la opción -rf para forzar el borrado recursivo.
  • uname: Nos devuelve en una línea un resumen con la información del sistema operativo: versión, kernel…
  • date: Nos muestra la fecha del sistema
  • ls: Lista todos los archivos de un directorio. Con la opción -l muestra el nombre largo de archivo, con la opción -la muestra el nombre de archivo encolumnado, con la opción -F muestra el tipo de fichero.
  • touch: Crea un fichero vacío.
  • updatedb: Actualiza la base de datos de archivos en todos los sistemas de ficheros.
  • find: Busca un archivo a partir del directorio que le digamos, tal que así find / -name “nombreDelFichero” buscaría a partir del directorio raíz un fichero con el nombre indicado.
  • locate: Busca un archivo en concreto en todo el sistema de archivos. Recuerda usar updatedb antes para que sea verdaderamente efectivo.

Hay muchos comandos más, desde luego, todo un mundo de ellos, ya que no nos hemos metido en temas como configuración de red, permisos, gestión de usuarios… Pero estos yo creo que son los más útiles para el usuario básico.

Cinco alternativas libres a popular software privativo.

La facilidad para piratear software para Windows ha llevado a los usuarios a abusar del software privativo, que le salía virtualmente gratis por obra y gracia de alguna descarga. ¿Podría esta situación cambiar?¿Podría tornarse este software en casi inistalable sin pasar por caja? Está claro que, de momento, no interesa a muchos fabricantes dificultar el acceso a su software, ya que esperan que la implantación entre usuarios les de grandes ventas en el ámbito corporativo. Pero los cambios de tendencia en dicho ámbito, sobre todo en empresas grandes, puede llevar a una modificación de esta tendencia, llevando también a un endurecimiento de las medidas anti copia.

En todo caso, a nivel de software doméstico hay opciones libres muy válidas. Alguno me dirá “son menos potentes”… como si para quitarse los granos de una foto necesitara un software de 700$.

  • Comencemos por la suite ofimática Libre Office, heredera del OpenOffice ahora en manos del gigante Oracle. Incluye un pequeño gestor de bases de datos, un procesador de textos, una hoja de cálculo, un programa para elaboración de diagramas y circuitos, otro para la creación de presentaciones de diapositivas… en fin, ofimática básica. Una alternativa libre al tan implantado Microsoft Office que puedes descargar desde aquí
  • Recién salida está la última versión de GIMP, la 2.8 con (al fin) ventana única. GIMP es el software libre (licencia GPL) de manipulación de imágenes más popular, constituyendo una sólida alternativa a Photoshop, sobre todo a nivel doméstico. Es un pelín más complejo en su uso pero muy potente, con capacidad de sobra para el usuario doméstico (y para muchos profesionales). Aquí tienes la web oficial
  • ¿Utilizas un gestor de correo en tu equipo en lugar de tirar de webmail? Hasta los popes de lo privativo se están pasando a Mozilla Thunderbird. Simple, intuitivo, fácil de configurar y con una tremenda portabilidad (no tienes ni que exportar los contactos, basta un copy/paste de la carpeta con los mismos y tienes tus contactos en otro dispositivo… incluso pasándolos de Windows a Linux). A nivel de herramientas para la programación, bases de datos y trabajo en red es donde el software libre tiene un mayor desarrollo, y Thunderbird es una gran prueba, siendo el software más exitoso de su categoría en múltiples comparativas. Descárgalo ya y comienza a liberar tu correo.
  • Aunque suene a perogrullada todavía mucha gente utiliza Internet Explorer. Hay que reconocer que Explorer 9 no está tan mal como sus predecesores, pero todavía hay mucha gente con Explorer7 por ahí, y creedme cuando os digo que eso nos rompe bastante la cabeza a los programdores cuando trabajamos en diseño web. Y ¿por qué usar explorer 7 teniendo alternativas tan válidas como Mozilla Firefox? seguro, fiable, robusto… y libre. Y no es el único, también está Chromium bajo licencia BSD y, más o menos, Google Chrome (libre más non tropo… es libre el navegador, pero no todos los componentes de Google). También tienes Opera, aunque no es libre pero sí freeware, cargado de múltiples funcionalidades.
  • Y para terminar esta lista, un reproductor multimedia. Es posible que todavía tires de Windows Media Player, pero para la reproducción doméstica nada mejor que VLC. Incluye su propio paquete de driver y codecs para descargarte del coñazo de actualizaciones, parches y descargas, tiene una gran comunidad por detrás dando soporte y muchas actualizaciones periódicas. Como reproductor de vídeo es el mejor, como reproductor de música es pasable (para poner canciones en casa, sobrado, para pinchar en un local… tienes opciones mejores como la versión gratis de Virtual DJ o el software libre Mixx), para hacer streaming tampoco te lo recomendaría… pero volvemos a lo principal: hablamos de usuario doméstico, y para el usuario doméstico es cómodo, intuitivo y compatible con casi todo lo que puedas descargar. Puedes descargarlo aquí

Me gustaría recomendar un antivirus libre, per la verdad es que el único relativamente extendido (ClamWin) no es demasiado recomendable. Hay buenas alternativas como Avast y Avira, no son libres pero al menos son gratis.

En todo caso, tienes alternativas libres para tu software doméstico más usual. Apoya a estos proyectos, porque puede que un día el software privativo sea la única opción… y el panorama, tanto económico como a nivel de tus derechos como usuario, se tornaría aterrador.