Cálculo de data em script para alertas de notificação

Cálculo de data em script para alertas de notificação

Quero criar alertas de expiração de conta, portanto, preciso escrever um script que possa me alertar antes de 1 mês de expiração por e-mail. Estou trabalhando no Linux.

Posso obter informações de expiração em 03/27/2015. Quero que restem 31 dias em 03/27/2015, determinando a data atual, para que eu possa receber um alerta por e-mail. Não consigo escrever uma declaração if correta.

Responder1

Não tenho certeza de onde você está preso porque não forneceu muitas informações ou exemplos, mas você pode considerar os seguintes comandos:

  • chage -l userNamepara verificar a data de expiração da senha de um usuário
  • mailenviar um e-mail para o usuário ou para o administrador (ou ambos) (como dito por Graeme em seu comentário)

Com esses dois comandos, você poderá escrever um script simples para verificar a expiração da senha.

Você também pode usar crontabpara agendamento (diariamente, por exemplo).

EDITAR:

Após sua edição com mais informações, você pode tentar o seguinte:

# 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

informação relacionada