Cálculo de fecha en script para alertas de notificación

Cálculo de fecha en script para alertas de notificación

Quiero crear alertas de vencimiento de cuenta, por lo tanto, necesito escribir un script que pueda alertarme antes de 1 mes de vencimiento por correo electrónico. Estoy trabajando en Linux.

Puedo obtener información de vencimiento como 2015-27-03. Quiero que, si quedan 31 días en el 27/03/2015 al determinar la fecha actual, pueda recibir una alerta por correo electrónico. No puedo escribir una declaración if correcta.

Respuesta1

No estoy realmente seguro de dónde está atascado porque no proporcionó mucha información o ejemplos, pero podría considerar los siguientes comandos:

  • chage -l userNamepara verificar la fecha de vencimiento de la contraseña de un usuario
  • mailenviar un correo electrónico al usuario o al administrador (o ambos) (como dijo Graeme en su comentario)

Con estos dos comandos, debería poder escribir un script simple para verificar la caducidad de la contraseña.

También puede utilizarlo crontabpara la programación (diariamente, por ejemplo).

EDITAR:

Después de su edición con más información, puede intentar lo siguiente:

# Get the current date in seconds since 1970
current_date=`date "+%s"`
# Convert the date you want to check in seconds since 1970
date_to_check=`date -d 2015/03/31 +"%s"`
# Calculate the difference in seconds
date_diff=`expr $date_to_check - $current_date`
# Check whether the difference is greater than 31 days (2678400 seconds)
if [ `expr $date_diff - 2678400` -gt 0 ]
then
    echo More than 31 days left
else
    echo Less than 31 days left
fi

información relacionada