Existe-t-il un moyen de modifier l'heure à laquelle le gestionnaire de mise à jour recherche les mises à jour?

16

Je vois où régler la fréquence, c'est-à-dire hebdomadaire, quotidienne, etc., mais pas comment définir l'heure à laquelle il vérifie.

akgraner
la source

Réponses:

11

Les mises à jour Apt sont déclenchées par un script appelé /etc/cron.daily/apt. /etc/cron.dailycontient plusieurs scripts qui se produisent chaque jour, mais tous en même temps. Pour modifier l'heure de mise à jour d'Update Manager, vous devez modifier l'heure à laquelle tous les /etc/cron.dailyscripts se déclenchent.

Pour ce faire, vous devez modifier votre /etc/crontabfichier:

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

Il s'agit d'un cronfichier assez standard qui devrait ressembler à ceci:

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

De là, nous pouvons voir les cron.dailydéclencheurs à 6h25. Si vous vouliez le démarrer à 4h du matin, vous remplaceriez la deuxième ligne de temps par:

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

Si vous avez besoin de plus d'aide sur le format, Wikipedia a une page inhabituellement technique sur Cron .

Oli
la source
4
Cela ne définira pas l'heure exacte à laquelle la mise à jour se produit, car il y a une veille aléatoire avant la vérification réelle des nouveaux packages. Ceci est fait pour éviter que des millions d'utilisateurs frappent les miroirs en même temps. La veille par défaut est choisie au hasard entre 0 et 30 minutes après le début de la tâche cron. Vous pouvez modifier le temps de veille maximum avec le APT::Periodic::RandomSleepparamètre de configuration APT; un maximum de 0moyens cela se produira toujours immédiatement ( mais rappelez-vous pourquoi le sommeil aléatoire est là! ).
janvier 2011 à 15h26
1

Merci les gens. Amber a posé cette question en mon nom à partir d'une question que j'ai posée dans le canal IRC de notre équipe de locomotives. Je pensais que c'était un travail cron et j'avais creusé à travers eux (/etc/cron.*) en essayant de comprendre par moi-même. Alors maintenant, je ne verrai pas de pic d'utilisation du processeur car je regarde une vidéo d'actualités du matin.

Il semble y avoir un décalage horaire d'une heure. Je soupçonne que c'est dû à l'heure d'été. Voici un extrait de ce matin.

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

Mark cela résolu.

marque
la source