更新マネージャーが更新を確認する時間を変更する方法はありますか?


16

毎週、毎日など、頻度を設定する場所はわかりますが、チェックする時刻を設定する方法はわかりません。

回答:


11

aptの更新はと呼ばれるスクリプトによってトリガーされ/etc/cron.daily/aptます。/etc/cron.daily毎日発生するいくつかのスクリプトが含まれていますが、すべて同時に実行されます。Update Managerが更新される時刻を変更するには、すべての/etc/cron.dailyスクリプトが起動する時刻を変更する必要があります。

そのためには、/etc/crontabファイルを編集する必要があります。

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

これはかなり標準的なcronファイルで、次のようになります。

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

これから、cron.daily午前6時25分にトリガーを確認できます。午前4時に開始する場合は、2回目の行を次のように置き換えます。

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

この形式についてさらにサポートが必要な場合は、Wikipedia にCronに関する異常な技術ページがあります


4
新しいパッケージの実際のチェックが行われる前にランダムなスリープがあるため、これは更新が行われる正確な時間を設定しません。これは、数百万人のユーザーが同時にミラーにアクセスするのを防ぐために行われます。デフォルトのスリープは、cronジョブの開始後0〜30分の間でランダムに選択されます。APT::Periodic::RandomSleepAPT構成設定で最大スリープ時間を変更できます。最大値0は常にすぐに発生することを意味します(ただし、ランダムスリープが存在する理由を覚えておいてください!)。
-JanC

1

人々に感謝します。アンバーは、locoチームのIRCチャンネルで私が尋ねた質問から私に代わってこれを尋ねました。私はそれがcronの仕事であると考え、自分でこれを理解しようとしてそれら(/etc/cron.*)を掘り下げていました。そのため、朝のニュースビデオを見ているときにCPU使用率が急上昇することはありません。

時間のシフトがあるようです。夏時間によるものと思われます。今朝からの抜粋です。

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

これを解決済みとしてマークします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.