Como implementar o tempo de expiração do arquivo de configuração?

0

Eu tenho um servidor Debian que executa um serviço usando vários arquivos de configuração (de maneira semelhante ao apache2), ao qual preciso adicionar uma data de expiração. O arquivo de configuração que tem uma data de expiração começa com um comentário contendo o seguinte:

#dd.mm.yyyy

O problema é que nem todos os arquivos precisam ter uma data de expiração. Estes não têm este comentário.

Eu preciso escrever um script bash que será executado regularmente pelo cron, que analisaria a primeira linha em cada arquivo de configuração, e se ele expirasse, executaria uma ação nesse arquivo (por exemplo, mover para outra pasta ) e, em seguida, recarregue ou restabeleça o serviço em questão. Arquivos sem o comentário de data de expiração devem ser ignorados (nenhuma ação precisa ser executada neles).

Como verificar com segurança a expiração do arquivo?

    
por Jakub 29.03.2016 / 08:54

1 resposta

0

Pergunta interessante.

O código abaixo está escrito frouxamente para resolver o problema.

Sem título, porque o código a seguir supõe que os arquivos tenham "espaço". Também assumindo que, a primeira linha de todo script .conf terá timestamp como "#YYYYMMDD"

Sinta-se à vontade para modificá-lo conforme necessário.

#!/bin/bash

for i in 'find /etc -name *.conf'
do
    Current_date=$(date +"%Y%m%d")
    date_to_compare=$(head -n1 $i | sed 's/^#//g')

    if [ $Current_date -ge $date_to_compare ];  then
          echo "Move the file to new directory"
          echo "Start the relevant service"
    fi
done
    
por 29.03.2016 / 09:41