Elimine um script de exclusão automática de arquivo

Elimine um script de exclusão automática de arquivo

Meio novato em bater, desculpe.

Eu queria gerar um script para inserir todos os diretórios em current_directory com "bifn*0.2e" no nome e excluir automaticamente os arquivos a cada minuto com "acc" no nome. Eles estão sendo continuamente gerados por outro processo. Isso é o que eu tenho e parece funcionar.

#!/bin/bash

while true
do                                                                                                                  
    find /current_directory/bifn*0.2e* -name '*acc*' -mmin +1 -delete
    sleep 60
done

Porém, depois de executar o script ./auto_remove, fiz um Ctrl+Z e bgpara mantê-lo em execução em segundo plano. Eu queria que esse script continuasse removendo arquivos mesmo depois de sair do terminal. Essa parte também funciona. Mas agora não posso matar o que ele está fazendo, nem vejo evidências de que o script está funcionando (exceto que os arquivos acc estão sendo removidos!). Tentei digitar ps fjxou jobs.também tentei executar novamente o script com a linha find comentada.

Então, por favor, ajude-me a parar o que está fazendo! E, para uso futuro, como posso fazer o que quero com mais elegância e, ao mesmo tempo, encerrá-lo quando necessário?

Responder1

Bem, descobri o problema ao encerrar. Eu tive que fazer login no nó específico que estava executando aquele script, para então executar kill. Ainda não tenho certeza de como evitar isso no futuro.

Responder2

Metade do script é desnecessária. Remova todas as verificações de tempo. Basta configurá-lo para verificar o nome e excluir. Em seguida, defina-o no crontab a cada minuto. Se você quiser pará-lo por algum motivo, basta parar o cron comentando a linha de execução e reiniciar o cron

informação relacionada