anacron cron.weekly só é executado quando logado

1

Eu tenho um cron job semanal configurado para ser executado todo sábado de manhã às 00:01. A entrada anacron.weekly no crontab é configurada para ser executada aos sábados às 00:01. A entrada crontab é:

1 0 * * 6 root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

O anacrontab tem uma entrada semanal configurada como:

7 10 cron.weekly run-parts --report /etc/cron.weekly

O script está contido no diretório /etc/cron.weekly , de propriedade root, com permissões de execução

O problema é que o trabalho não é executado quando não estou logado como root, mas assim que eu logar como root, a tarefa cron funcionará perfeitamente (após o atraso de 10 min do anacron)  e fazer exatamente o que é suposto fazer.

O trabalho exibe o comportamento desejado de uma vez executado, ele não será executado novamente até que o próximo trabalho semanal seja executado, mas somente depois de eu fazer o login. ie Se eu fizer login na sexta à noite ele ganhou não corra, mas se eu entrar no sábado à noite, ele vai e, em seguida, não vai correr novamente até depois de 00:01 no próximo sábado.

Meu sistema de arquivos nem meu diretório pessoal são criptografados. O trabalho é de propriedade do root e só é executado quando eu faço login como root. Depois que o trabalho for executado, ele será registrado no /var/log/syslog e o arquivo /var/spool/anacron/cron.weekly será definido como a data em que o trabalho foi executado. Todos os arquivos de log criados pelo trabalho são criados e mostram uma conclusão bem-sucedida.

Verifiquei que o servidor está ativo no momento em que o trabalho deve ser executado.

Alguma idéia?

    
por jo or 24.02.2015 / 22:43

1 resposta

0

Certifique-se de que você esteja executando anacron regularmente e não apenas quando estiver logado como root. A linha que você postou no seu crontab testa se anacron é executável e se não for executará seus scripts semanais aos sábados às 00:01 - em particular, ele não executa anacron mesmo se presente e executável.

anacron precisa de oportunidades regulares para ser executado e, a cada vez, verificará e executará todas as tarefas que vencerem. No meu sistema (Arch, não Ubuntu), cron executa anacron hora a hora por meio de um script 0anacron em /etc/cron.hourly .

    
por Michael 07.05.2015 / 07:03