trabalho cron remover / excluir arquivo


1

Estou tentando configurar um trabalho cron para excluir um arquivo, estou usando uma interface plesk, sendo o comando:

* * * * 1-7 rm /mypath/file_name_to_delete

Isso deve estar sendo executado a cada minuto, certo? Não parece estar funcionando.

cron 

1
"parece não estar funcionando" não é uma descrição suficientemente boa. o arquivo foi excluído? verifique o e-mail do usuário que o executa, o que diz?
User31894

Não é removido. Não tenho certeza sobre a questão da verificação de emails, estou passando por uma interface do Plesk, não há opção para inserir um email ou usuário que esteja executando - o que seria eu, mas não recebo nenhum email. Poderia ser uma coisa de permissões? Devo entrar em contato com meu ISP? Minha sintaxe está correta, sim?

Respostas:


3

Algumas observações:

  1. A quinta coluna de uma entrada crontab tem um intervalo de 0 (domingo) a 6 (sábado), não de 1 a 7.
  2. As configurações de ambiente em um trabalho cron são bastante esparsas e as tarefas geralmente se comportam de maneira diferente do que no shell interativo. É um tiro no escuro, mas verifique se o rmcomando está na $PATHvariável
  3. Depurar trabalhos cron é complicado. Às vezes, a saída de um trabalho que não é redirecionado para um arquivo é enviada para você. Às vezes não é. Exercite mais controle sobre a saída de seus trabalhos:

    * * * * * my_cron_job >> /home/me/cron_job.log 2 >> /home/me/cron_job.err
    
  4. Tente algo simples para garantir que o cron esteja funcionando da maneira que você espera. Algo como:

    * * * * * /usr/bin/date >> /home/me/cron.test 2>&1
    

    testará a funcionalidade básica. Você pode torná-lo mais complicado a partir daí.


Alguns bons pontos aqui. Não posso garantir todos eles, mas valho um voto positivo.
pavium

0

As respostas do mobrule são um bom guia de solução de problemas.

Dicas adicionais:

  • Se você não receber nenhum email, o sistema provavelmente não está completamente configurado: Todas as implementações do cron (que eu conheço) enviarão a saída (stdout & stderr) para o usuário que criou o crontab (alguns também suportam uma variável MAILTO para definir esse usuário). Os problemas geralmente ocorrem se a entrega de correio local não estiver configurada corretamente para o usuário. Se você usar o cron, sempre verifique se a entrega de correio local está configurada. A maioria das distribuições Linux fará isso automaticamente se você instalar o servidor de correio padrão, que despejará o correio em / var / spool / mail / ou encaminhe-o para o endereço fornecido no arquivo .forwardem $ HOME dos usuários. Isso deve ser corrigido se você estiver usando o cron, caso contrário, as mensagens de erro serão descartadas.
  • Se você só pode usar o Plesk, algumas das configurações mencionadas acima podem não estar acessíveis para você (embora elas devam ter sido definidas pelo provedor de hospedagem). Nesse caso, redirecionar stdout & stderr para um arquivo é uma boa solução, como na resposta do mobrule.

0

O comando rm filename requer confirmação 'yes' ou 'no'. Portanto, o comando não pode ser executado sem confirmação.

Existe um comando 'rm -f filename' para excluir arquivos sem confirmação.


Eu nunca vi uma implementação rmque solicite confirmação por padrão.
Blacklight Shining
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.