[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

EXIM 4 dejó de enviar mensajes



Estimados,

Tengo un servidor que posee un script que me envía reportes vía EXIM4 a mi casilla.
Los mensajes son enviados por el Script, pero no llegan a mi cuenta de email (ya verificado que no llegue a mi carpeta SPAM ni nada parecido).

Es decir, ¿quedan en un limbo?

Realmente ignoro qué pudiera estar sucediendo.

El comando que utilizo dentro del Script es:

mailx -r mimail@midomino.com.ar -s "asunto" mimail@midomino.com.ar < /mi_carpeta_bkp/MENSAJE_A_ENVIAR

​Siempre ha funcionado a la perfección pero de buenas a primeras... Nada!

¿Dónde debería buscar la falla?

Ya a esta altura he reconfigurado exim con: dpkg-reconfigure exim4-config en repetidas ocasiones y nada ha cambiado.​

Ya estoy pensando en desinstalar y volver a instalar EXIM4 (ajjjj es tan windows... 😜  )

Y acá va el Script:


#!/bin/bash

fecha_de_hoy=$(date +%d-%m-%Y)      # Setea una variable con fecha actual

if [ ! -f /carpeta_mail/variable_bkp_diario ]; then #Si no existe

    echo $fecha_de_hoy > /carpeta_mail/variable_bkp_diario #La guardo en el archivo

    #Seteo la variable de comparacion con valor mínimo cualquiera
    #De ese modo fuerzo la ejecución del backup.

    fecha_ultima_realizacion=1

else                    #Si existe el archivo

    fecha_ultima_realizacion=$(cat /carpeta_mail/variable_bkp_diario) #Seteo con contenido

fi #Finalizo seteo de variable necesaria "fecha_ultima_realizacion"

if [ ! $fecha_de_hoy = $fecha_ultima_realizacion ]; then #Sólo si no son iguales hago el BACKUP

# Orden para ejecutar hacia el server de Backup.
rsync -e ssh -rtvu --delete-before /mi_samba/* root@10.17.0.1:/mis_backups/daily

# Recupera la información de la última sentencia realizada
# para verificar errores
ERROR_EN_EJECUCION=$?

# Se guarda la información en archivos físicos en servidor de destino.

# Se guarda la dimensión total de la partición Backup.
ssh root@10.17.0.1 "df -h | grep /carpeta_de_backup | cut -c 58-60 > /carpeta_de_backup/ESTADO_TOTAL_DEL_DISCO.txt"

# Se guarda el espacio utilizado de la partición Backup.
ssh root@10.17.0.1 "df -h | grep /carpeta_de_backup | cut -c 65-67 > /carpeta_de_backup/ESPACIO_ACTUAL_UTILIZADO_DEL_DISCO.txt"

#Se copian los archivos del servidor remoto en local.
scp root@10.17.0.1:/carpeta_de_backup/ESTADO_TOTAL_DEL_DISCO.txt /mi_carpeta_bkp/SUMATORIAS/
scp root@10.17.0.1:/carpeta_de_backup/ESPACIO_ACTUAL_UTILIZADO_DEL_DISCO.txt /mi_carpeta_bkp/SUMATORIAS/

## DECLARACION DE VARIABLES DEL REPORTE A ENVIAR VIA EMAIL:

# Asignamos a variables el contenido de la información copiada
# desde el servidor de backup
ESTADO_PREVIO_DEL_DISCO=`cat /mi_carpeta_bkp/SUMATORIAS/ESTADO_TOTAL_DEL_DISCO.txt`
ESTADO_PREVIO_USADO_DEL_DISCO=`cat /mi_carpeta_bkp/SUMATORIAS/ESPACIO_ACTUAL_UTILIZADO_DEL_DISCO.txt`

# Asignamos a una variable el día en formato (dd-mm-aaaa)
DIA_ACTUAL=$(date +%d-%m-%Y)

# Asignamos a una variable la hora cortando sólo horas y minutos (hh:mm)
HORA_AHORA=$(date +%T | cut -c 1-5)

# Asignamos a variable los porcentajes de acuerdo al espacio utilizado.
PORCENTAJE_USADO=$((GB * 100 / DISCO))

#Asignamos a variable el porcentaje de disco disponible.
DISCO_DISPONIBILE=$((100 - PORCENTAJE_USADO))

# De acuerdo a si existieron errores (o no) al momento de ejecutar el
# comando RSYNC, se le da forma al mensaje que se enviará por email.

# Si no hubo errores:
if [ $ERROR_EN_EJECUCION -eq 0 ]; then
echo $(date +%d) > /carpeta_mail/controles/DIARIO_REALIZADO
echo -e "- BACKUP OK -" > /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR
echo -e " No se detectaron errores en la copia." >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR
echo -e "El espacio total en disco /carpeta_de_backup es de $ESTADO_PREVIO_DEL_DISCO Gb. " >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR
echo -e "El espacio utilizado del disco /carpeta_de_backup es de $ESTADO_PREVIO_USADO_DEL_DISCO Gb. \n" >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR
echo -e "ESPACIO DISPONIBLE: $ESTADO_PREVIO_DEL_DISCO_DISPONIBILE%, EN USO: $PORCENTAJE_USADO% \n" >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR

#Como no hubo errores, guardamos la variable fecha_de_hoy en el archivo:
echo $fecha_de_hoy > /carpeta_mail/variable_bkp_diario

# Si hubo errores:
else
echo -e " - ERROR EN BKP -" >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR
echo -e " Se ha encontrado un error Nro: $ERROR_EN_EJECUCION" >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR
echo -e " Verifique el backup del sistema...\n" >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR

# En caso de que haya errores, eliminamos el archivo de variable diaria
# para evitar que se salte el próximo intento de realizar el BACKUP
# ya que en este caso, el script se ejecutó pero al existir errores
# no se ejecutó el comando RSYNC con éxito
# (Sucede, por ejemplo, si el servidor de Backup está apagado)

rm /carpeta_mail/variable_bkp_diario #Elimino la variable
fi

# Cualquiera sea el resultado del Backup.
echo -e "- EOF() BACKUP DIARIO -" >> /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR

# Copiamos el mensaje local al Servidor de mailing:
# scp /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR root@10.17.0.1:/carpeta_de_backup/

# Realizamos el envío correspondiente desde el servidor de mail:
####  ssh root@10.17.0.1 "mail -aFrom:midireccion_personal@midomino.com.ar -s 'BKP: $DIA_ACTUAL - $HORA_AHORA hs.' midireccion_personal@midomino.com.ar < /carpeta_de_backup/MENSAJE_A_ENVIAR"

# Realizamos el envío desde este servidor con EXIM4:
mailx -r midireccion_personal@midomino.com.ar -s "BKP: $DIA_ACTUAL - $HORA_AHORA hs." midireccion_personal@midomino.com.ar < /mi_carpeta_bkp/SUMATORIAS/MENSAJE_A_ENVIAR

# Despejamos la pantalla
clear

# Informamos a la terminal 1 la ejecución del script.
echo " " > /dev/tty1
echo "SCRIPT DE BACKUP EJECUTADO" > /dev/tty1
echo " " > /dev/tty1
echo "Se envió información del estado del procesamiento vía mail a:" >> /dev/tty1
echo " " >> /dev/tty1
echo "midireccion_personal@midomino.com.ar - El $DIA_ACTUAL a las $HORA_AHORA hs." >> /dev/tty1
echo " " >> /dev/tty1
# La siguiente variable tendrá relación con el período de repetición de la ejecución.
echo "Próxima ejecución del Backup a las $PROXIMA hs." >> /dev/tty1
echo " "

fi # Finalizo el IF de validación



Reply to: