Existe uma maneira de alterar a que horas o gerenciador de atualizações verifica se há atualizações?

16

Vejo onde definir a frequência, ou seja, semanalmente, diariamente, etc., mas não como definir a hora do dia.

akgraner
fonte

Respostas:

11

As atualizações do Apt são acionadas por um script chamado /etc/cron.daily/apt. /etc/cron.dailycontém vários scripts que acontecem todos os dias, mas todos ao mesmo tempo. Para alterar o horário em que o Update Manager é atualizado, é necessário alterar o horário em que todos os /etc/cron.dailyscripts são disparados.

Para fazer isso, você precisa editar seu /etc/crontabarquivo:

sudoedit /etc/crontab # or: gksu gedit /etc/crontab

Este é um cronarquivo bastante padrão que deve se parecer com algo assim:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

A partir disso, podemos ver cron.dailygatilhos às 6h25. Se você deseja iniciá-lo às 4h, substitua a segunda linha por:

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

Se você precisar de mais ajuda com o formato, a Wikipedia possui uma página técnica incomum no Cron .

Oli
fonte
4
Isso não definirá o horário exato em que a atualização ocorrerá, pois há um sono aleatório antes que a verificação real de novos pacotes ocorra. Isso é feito para impedir que milhões de usuários acessem os espelhos ao mesmo tempo. O sono padrão é escolhido aleatoriamente entre 0 e 30 minutos após o início do trabalho cron. Você pode alterar o tempo máximo de suspensão com a APT::Periodic::RandomSleepconfiguração do APT; no máximo de 0meios, isso sempre acontecerá imediatamente ( mas lembre-se do motivo pelo qual o sono aleatório existe! ).
janc
1

Obrigado pessoal. Amber fez isso em meu nome a partir de uma pergunta que fiz no canal IRC da equipe de loco. Achei que era um trabalho cron e estava procurando por eles (/etc/cron.*) tentando descobrir isso sozinho. Então agora não verei o pico de uso da CPU direito, enquanto assisto a um vídeo de notícias da manhã.

Parece haver um horário de hora. Eu suspeito que é devido ao horário de verão. Aqui está um recorte desta manhã.

Apr 21 07:30:01 flounder CRON[21032]: (root) CMD (start -q anacron || :)
Apr 21 07:30:01 flounder anacron[21035]: Anacron 2.3 started on 2011-04-21
Apr 21 07:30:01 flounder anacron[21035]: Will run job `cron.daily' in 5 min.
Apr 21 07:30:01 flounder anacron[21035]: Will run job `cron.weekly' in 10 min.
Apr 21 07:30:01 flounder anacron[21035]: Jobs will be executed sequentially
Apr 21 07:35:01 flounder anacron[21035]: Job `cron.daily' started

Marque isso resolvido.

marca
fonte