Czy istnieje sposób, aby zmienić godzinę, o której menedżer aktualizacji sprawdza dostępność aktualizacji?

16

Widzę, gdzie ustawić częstotliwość, tj. Tygodniową, dzienną itp., Ale nie wiem, jak ustawić, o której godzinie sprawdza.

akgraner
źródło

Odpowiedzi:

11

Aktualizacje Apt są uruchamiane przez skrypt o nazwie /etc/cron.daily/apt. /etc/cron.dailyzawiera kilka skryptów, które pojawiają się każdego dnia, ale wszystkie w tym samym czasie. Aby zmienić czas aktualizacji Menedżera aktualizacji, musisz zmienić czas uruchomienia wszystkich /etc/cron.dailyskryptów.

Aby to zrobić, musisz edytować /etc/crontabplik:

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

Jest to dość standardowy cronplik, który powinien wyglądać mniej więcej tak:

# /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 )
#

Z tego możemy zobaczyć cron.dailywyzwalacze o 6:25 rano. Jeśli chcesz go uruchomić o 4 rano, możesz zastąpić drugą linię razy:

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

Jeśli potrzebujesz dodatkowej pomocy w tym formacie, Wikipedia ma niezwykle techniczną stronę na temat Crona .

Oli
źródło
4
Nie określi to dokładnego czasu aktualizacji, ponieważ przed faktycznym sprawdzeniem nowych pakietów następuje przypadkowy sen. Ma to na celu uniknięcie sytuacji, w której miliony użytkowników uderzą w lustra w tym samym czasie. Domyślny tryb uśpienia jest wybierany losowo od 0 do 30 minut po rozpoczęciu zadania cron. Możesz zmienić maksymalny czas uśpienia za pomocą APT::Periodic::RandomSleepustawienia konfiguracji APT; maksymalnie 0oznacza, że ​​zawsze stanie się to natychmiast ( ale pamiętaj, dlaczego jest losowy sen! ).
JanC
1

Dzięki ludzie. Amber zadała to w moim imieniu od pytania zadanego na kanale IRC naszego zespołu lokomotyw. Uznałem, że to praca z cronem i przeglądałem je (/etc/cron.*), próbując to rozgryźć na własną rękę. Więc teraz nie zobaczę gwałtownego wzrostu użycia procesora podczas oglądania porannego wideo z wiadomościami.

Wydaje się, że nastąpiła godzinna zmiana czasu. Podejrzewam, że jest to spowodowane czasem letnim. Oto wycinek z dzisiejszego ranka.

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

Oznacz to jako rozwiązane.

znak
źródło