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

1

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

Eu posso obter informações de expiração em 2015-27-03. Eu quero que se 31 dias forem deixados em 2015-27-03, determinando a data atual, então eu poderia receber um alerta por e-mail. Não consigo escrever uma declaração if correta.

    
por User4283 27.03.2014 / 13:29

1 resposta

1

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

  • chage -l userName para verificar a data de expiração da senha de um usuário
  • mail para enviar um email para o usuário ou para o administrador (ou ambos) (como disse Graeme em seu comentário)

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

Você também pode usar crontab para o 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
    
por 27.03.2014 / 14:57