Como comparar a data atual e a data da linha no arquivo txt?

0

Quero verificar quando a semana antes do certificado expirar para nossos usuários no servidor OpenVPN. No servidor instalado o Centos 6.7. Eu posso exportar enddate e assunto de todos os arquivos .crt para txt com o comando

openssl x509 -subject -enddate -noout -in filename

no formato:

subject= /C=Country/ST=ca/L=City/O=company/OU=uit/CN=user/emailAddress=email
notAfter=Oct  8 13:48:27 2020 GMT

Data atual no servidor no formato - Wed May 25 10:03:06 MSK 2016 Como comparar a data e a data atual na linha notAfter no arquivo txt, e se semana da esquerda ou menos antes do certificado expirar, faça o arquivo txt com o nome do usuário da linha subject com o texto True ?

    
por Alex Kir 25.05.2016 / 09:10

1 resposta

1

A maneira mais fácil é converter a string de data em hora de época, que é contada em segundos desde 1970-01-01 00:00:00 UTC e comparar o número de segundos.

Para obter a data atual em segundos, faça:

[jenny@finch ~]$ date +%s
1464162079

Para obter a data da string de data acima, faça

[jenny@finch ~]$ date -d 'Oct 8 13:48:27 2020 GMT'  +%s
1602164907

Uma semana é 604800 segundos, portanto, verifique se a diferença entre os dois tempos é menor do que isso.

    
por 25.05.2016 / 09:44

Tags