watch permite monitorizar tu sistema en tiempo real

Existen muchos comandos en Linux que la mayoría de los usuarios conocen y utilizan regularmente, como «ls» para listar los archivos en un directorio o «cd» para cambiar de directorio. Sin embargo, hay algunos comandos menos conocidos que pueden resultar muy útiles en determinadas situaciones. Uno de esos comandos es watch.

watch es un comando que permite ejecutar cualquier otro comando en un bucle continuo, mostrando la salida en la consola cada cierto tiempo que se especifique. Esto puede resultar muy útil cuando se quiere monitorear un proceso que se está ejecutando en el sistema, ya que permite ver cómo cambia su salida en tiempo real.

Un ejemplo común de uso del comando watch es para monitorear el uso de la memoria en un sistema. Por ejemplo, podemos ejecutar el comando «free -m» (que muestra el uso de la memoria en megabytes) en un bucle con watch de la siguiente manera:

watch -n1 "free -m"

Esto ejecutará el comando «free -m» cada segundo (-n1), mostrando la salida en la consola de la siguiente manera:

De esta forma, podemos ver cómo cambia el uso de la memoria en tiempo real, y tomar decisiones en consecuencia si es necesario.

Error en exim: Initialization failed: namespace configuration error

Si te encuentras con este error en el el log de dovecot, solucionarlo es bastante fácil, de hecho, está escrito en el propio error. El error en cuestión es:

Error: user your@username.tld: Initialization failed: namespace configuration error: inbox=yes namespace missing

Para solucionarlo, tan sólo hay que editar el archivo /etc/dovecot/conf.d/*-mailboxes.conf  y añadir lo siguiente dentro de  namespace inbox { }

inbox = yes

Luego tan sólo queda reiniciar exim con el comando:

systemctl restart exim.service

Y listo! ya tenemos funcionando de nuevo el email

Nota: También podemos añadir la linea auto=subscribe en cada mailbox para que quede así:

mailbox Trash {
  auto = subscribe
  special_use = \Trash
}

Ahora cualquier cliente de correo, al configurar esa cuenta, se suscribirá por defecto a la carpeta de Trash.

Modificar las conexiones máximas por IP de dovecot

Mi cliente de email a veces se quejaba de que no podía conectar al servidor. El caso es que la configuración de la cuenta de email era correcta, porque normalmente accedía sin problemas. Pues mirando en /var/log/maillog he visto que aparecía este mensaje:

dovecot: imap-login: Maximum number of connections from user+IP exceeded

He encontrado la solución al problema, sólo es necesario cambiar la configuracíon de la variable mail_max_userip_connections e incrementarlo de manera que permita más conexiones simultáneas. Si el límite de conexiones es muy bajo, es muy facil llegar a él, ya que por cada cuenta de email que tengamos en el servidor, y por cada «carpeta» (Inbox, Spam, Trash, etc..) realiza una conexión individual. Esto optimiza la descarga de emails, pero también debe realizar muchas más conexiones.

Para cambiar este parámetro, editamos el fichero de configuración

nano /etc/dovecot/conf.d/imap.conf

y añadimos un limite de 50 conexiones por IP (o las que necesites)

protocol imap {
   mail_plugins = $mail_plugins autocreate
   mail_max_userip_connections = 50
}

Sólo queda reiniciar el servicio

systemctl restart dovecot.service

Y ya está!

Cómo arreglar el gráfico de uso de memoria de Vesta si no funciona en Centos7

Acabo de realizar una instalación limpia de CentOS7 en mi servidor, seguidamente he instalado la última versión de Vesta, actualmente la Vesta 0.9.8-16, como panel de control y me he dado cuenta de que el gráfico de uso de memoria (Memory Usage) no está mostrando nada. Hace tiempo leí cómo arreglar este problema aquí, y parece que estará corregido para la próxima versión. Aún así dejo el workaround, ya que seguro que resulta útil.

  1. Editamos el fichero /usr/local/vesta/bin/v-update-sys-rrd-mem y buscamos las siguientes líneas de código
     used=$(echo "$mem" |awk '{print $3}'|head -n3 |tail -n1)
     free=$(echo "$mem" |awk '{print $4}'|head -n3 |tail -n1)
  2. Las sustituimos por estas
     used=$(echo "$mem" |awk '{print $3}'|head -n2 |tail -n1)
     free=$(echo "$mem" |awk '{print $4}'|head -n2 |tail -n1)
  3. Guardar, salir y listo!

El truco está en cambiar el head -n3 por head -n2. Por lo visto el resultado del comand free -m es diferente para Centos6 y 7 por lo que necesita ese pequeño ajuste.

Tendremos que esperar un rato para que empezemos a ver los datos que empezarán a entrar en el gráfico, pero acabará viéndose perfectamente, os dejo mi ejemplo!

memory-usage-working-centos7