Mostrando las entradas con la etiqueta Linux. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Linux. Mostrar todas las entradas

martes, 18 de febrero de 2020

Docker: inicio automatico de contenedores

Docker e inicio automatico de contenedores

Cuando implementamos un contendor, queremos usualmente que siga corriendo, a pesar que el usuario se desconecte o que el servidor sea reiniciado.

Como mantener el proceso en ejecución tras la desconexión del usuario

Para resolver el primer punto, que siga corriendo cuando el usuario que lo inició se desconecte, debemos iniciar el contenedor como un demonio. Para esto simplemente usamos el parámetro -d.

Como mantener el proceso en ejecución tras el reinicio del servidor

En un escenario más complejo, optaremos por automatizar el proceso de los contenedores a través de docker-compose, el cual nos permite incluir un archivo yaml con la configuración deseada, incluyendo imagen, puntos de montaje, puertos, etc.

En el mismo archivo yaml, se puede añadir la opción "restart: always", lo que hará que cada vez que se reinicie el servidor (VM), se reinicien automáticamente los contenedores listados con esa opción.

Resumen

En resumen, para iniciar los contenedores, que estos sigan corriendo al desconectarse y que inicien cada vez que el servidor es reiniciado, usaremos el siguiente comando:

sudo docker-compose up -d

Archivo YAML ejemplo

Un archivo YAML de ejemplo es el siguiente:

Nombre de archivo: docker-compose.yml

Contenido del archivo:

# ###################
version: '1'

services:

  postgres:
    container_name: postgres
    image: postgres
    restart: always

  nginx:
  image: nginx
  volumes:
   - ./mysite.template:/etc/nginx/conf.d/mysite.template
  ports:
   - "8080:80"
  environment:
   - NGINX_HOST=foobar.com
   - NGINX_PORT=80
  command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && exec nginx"

    depends_on:
     - postgres


martes, 6 de agosto de 2019

Buscar los ultimos archivos modificados en Linux

Hace un tiempo pensé en publicar respecto al tópico que expongo hoy, sin embargo pensé que al ser un tema muy conocido no sería de interés. Después de un poco andar, me di cuenta que no resulta tan trivial y que puede ayudar a algunas personas que existan artículos como éste y en particular en español, por lo que decidí retomar y publicar un par de artículos, partiendo por este.
Quisiera sus comentarios, de si encuentran esta información útil o no, para ver si sigo haciendo publicaciones como ésta.

Problemática: por que buscar los últimos archivos modificados en Linux

Por diferentes razones tal vez queremos buscar los ultimos archivos modificados en Linux. Razones como, por ejemplo:
  • Instalé un programa y quiero saber que archivos modificó
  • Tengo una actualización y quiero saber el / los filesystem que está ocupando
  • Quiero identificar los archivos modificados recientemente
Cuando pensamos en buscar los ultimos archivos modificados en Linux, lo primero que se nos viene a la cabeza es usar el comando find, pero find es muy amplio y necesitamos acotar y esa es la razón de este artículo, algunas opciones que nos permitan acotar la búsqueda.

Solución: buscar los ultimos archivos modificados en Linux

En esta solución expongo dos simples opciones que combino:
  • Filtrar por tiempo
  • Filtrar directorios no relevantes

Filtrando los resultados de búsqueda: por tiempo, últimos modificados

Para filtrar por los ultimos archivos modificados en el tiempo podemos usar el parámetro cmin. cmin nos permitirá especificar una cantidad de minutos hacia atrás, buscando archivos que fueron modificados desde el momento actual hasta x minutos atrás.
Por ejemplo:

$ find . -cmin -30

En este ejemplo, find buscará archivos en el directorio actual (.) que fueron modificados hace 30 minutos (o menos)

Esto resuelve nuestro problema y podría quedar hasta ahí, pero en ocasiones, la busqueda retornará resultados de directorios que no nos interesan. Entonces iremos un paso más allá en el filtro, con la siguiente opción de búsqueda.

Filtrando los resultados de búsqueda: excluyendo directorios

Si, por ejemplo, hacemos una busqueda desde el directorio raiz (/) el resultado arrojará archivos modificados en los directorios /proc /var /sys, entre otros, que en la mayoría de los casos no son de interés ya que son directorios de sistema y no de una aplicación. Para filtrar los directorios "indeseados" usamos la opción -prune

Excluyendo un directorio

Para excluir solo un directorio ocupamos la opción prune con el flag o, como se muesta a continuación:

$ find / -path /proc -prune -o -cmin -30

Esto buscará en el directorio raiz (/) todos los archivos modificados en los últimos 30 minutos, excluyendo los que están el el directorio /proc

Excluyendo varios directorios

Para excluir varios directorios, listamos los directorios entre paréntesis, pudiendo añadir todos los directorios que queremos excluir

$find / \( -path /proc -o -path /sys -o -path /run -o -path /var \) -prune -o -cmin -30

Esto buscará en el directorio raiz (/) todos los archivos modificados en los últimos 30 minutos, excluyendo los que están el los directorios /proc , /sys , /run y /var



viernes, 18 de octubre de 2013

Software gratuito para la Gestión de Proyectos

Como jefes de proyectos (project managers) nos encontramos con la necesidad de utilizar aplicaciones que nos faciliten la vida. Sin embargo en ocasiones no tenemos una aplicación para el proyecto que estamos controlando, lo cual usualmente es un tema de presupuesto, ya que pueden existir aplicaciones gratuitas pero son muy pobres en funcionalidades, muy limitadas técnicamente o nos restringen en cierta plataforma.
En este artículo les comentaré de una aplicación que tiene las siguientes cualidades:
2-Plan Free Project Management Software
  • Gratuita: Tiene la opción "Donate", un par de plugins con costo y una opción de soporte, por si una empresa lo require.
  • Multiplataforma: Windows, Linux y Mac
  • Cliente para dispositivos móviles
  • Tecnológicamente adaptable, con sus versiones de 32 y 64 bits para cada una de sus plataformas
  • Trabajo colaborativo
  • EBS (WBS:Work Breakdown Structure) Gráfico
  • Control de Linea base de proyecto
  • Importación / Exportación de MS-Project
  • Gestión de Riesgos
  • Templates gratuitos incluidos
Más que una solución para cuando el proyectos está "corto de presupuesto", esta es una solución que realmente tiene mejoras comparativas con una solución como MS-Project, por su facilidad de uso y por su adaptación con los estándares globales de gestión de proyecto del Project Management Institute PMI.
Les invito a probarla, de seguro se van a entretener con 2-Plan.