Como um script pode executar ações se o tempo de criação do arquivo ultrapassar 5 minutos?

1

Eu quero escrever um script que possa ser programado para ser executado após intervalos fixos de tal forma que toda vez que esse script for executado, ele verifique o timestamp de criação de outro arquivo chamado HOSTNAME_FA.lck . Se o (creation timestamp - current timestamp) > 5 Minutes . Ele executa outro teste de ping.

Ex: nome do script: checkFailedNodes.sh Arquivo que precisa ser verificado se passou cinco minutos após o timestamp de criação: Hostname_FA.lck

Se o checkFailedNodes.sh for executado e identificar que a criação do arquivo passou por 5 minutos, o script checkFailedNodes.sh irá testar novamente o Nó (HOSTNAME) com um ping ICMP.

Qual seria a melhor maneira de fazer isso?

    
por Ankit Vashistha 06.06.2017 / 18:34

1 resposta

1

Várias perguntas aqui, então vamos separá-las.

Você deseja que um script seja programado para ser executado em intervalos fixos. É para isso que o cron é. Por exemplo, se você quiser que /path/to/script.sh seja executado a cada cinco minutos, adicione essa entrada da tabela cron :

*/5 * * * * /path/to/script.sh >> /var/log/myscript.log 2>&1

Para encontrar os arquivos que foram modificados pela última vez há mais um n minutos atrás, use -mmin . Demonstre com n = 5:

find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5

Para executar um script para cada arquivo encontrado:

find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5 -exec /path/to/otherscript.sh {} \;

O token mágico {} filename será substituído pelo nome do arquivo, portanto, o script pode ser projetado para examinar o conteúdo ou o nome do arquivo e agir de acordo.

    
por 06.06.2017 / 18:48