Ubuntu 12.04 como remover completamente o anacron

1

Estou usando o Ubuntu 12.04 para um projeto incorporado. Preciso de tarefas agendadas para serem executadas somente em seu tempo especificado, porque o tempo pode ser escalonado para frente (resultando em um trabalho perdido), mas esses trabalhos devem ser ignorados. Ao testar isso, mesmo quando eu coloco meus crontabs em /etc/cron.d e, por exemplo, agendar o trabalho para 13:15, defina a hora do sistema como 13:25, o trabalho será executado em ~ 13: 26. Eu não quero executar trabalhos perdidos, eles devem ser ignorados (de acordo com a pesquisa que fiz, este é o comportamento cron "normal"). Alguma sugestão sobre como remover o anacron e simplesmente manter o cron antigo?

Obrigado.

    
por user1345 10.07.2013 / 21:30

2 respostas

1

Não vejo razão para remover anacron seria problemático. A resposta mencionada pela papukaija também não contém nenhum aviso. Especialmente porque os trabalhos perdidos são exatamente o que você quer quando o tempo é escalonado.

A descrição do pacote diz:

  

Você deve instalar este programa se o seu sistema não estiver    ligado 24 horas por dia para garantir que os trabalhos de manutenção de outros    Pacotes Debian são executados a cada dia.

Portanto, basta removê-lo com sudo apt-get remove anacron (não use purge para que os arquivos de configuração sejam mantidos)

Um problema permanece (como você percebeu) - o cron vê as etapas de tempo menores que três horas como resultados de algo como Horário de verão e ainda executa trabalhos perdidos.

  

Considerações especiais existem quando o relógio é alterado em menos de 3 horas, por exemplo, no início e no final do horário de verão.          Tempo. Se o tempo foi adiantado, os trabalhos que seriam executados no tempo ignorado serão executados logo após a alteração.          Por outro lado, se o tempo foi recuado em menos de 3 horas, os trabalhos que se enquadram no horário repetido não serão executados novamente.

     

Mudanças de relógio de mais de 3 horas são consideradas como correções no relógio e a nova hora é usada imediatamente

O seu possível caminho está no fato de que apenas trabalhos com tempo exato de execução são afetados.

  

Somente trabalhos executados em um horário específico (não especificado como @homem, nem com '*' no especificador de hora ou minuto) são afetados. Jobs que          são especificados com curingas e são executados com base na nova hora imediatamente.

Então, se você quiser executar algum trabalho a cada 3 horas você escreveria uma linha como

25  */3 * * * root /path/so/some/file

Uma abordagem completamente diferente (se você quiser que esses trabalhos sejam executados no máximo uma vez) seria empregar at .

    
por guntbert 10.07.2013 / 22:13
2

A desinstalação do anacron também desinstala a área de trabalho. Em outras palavras, o Ubuntu assume um sistema sem anacron para ser um servidor. Se isso é um problema para você, então você pode tentar remover permissões de execução do binário do anacron:

sudo chmod a-x /usr/sbin/anacron
sudo chmod a-x /etc/init.d/anacron

Isso ocorre porque o / etc / crontab verifica a presença do anacron, verificando se o / usr / sbin / anacron é executável e, se não for o diário, os trabalhos semanais e mensais são executados de forma síncrona.

    
por Jan Ceuleers 17.08.2016 / 19:11