Führen Sie Ubuntu Security Updates nur jeden Samstag aus


7

Ein Client möchte automatische Sicherheitsupdates für seine 12.04-Box aktivieren, dies muss jedoch einmal pro Woche nur am Samstag erfolgen (warum weiß ich nicht).

Wenn ich es tue, ist dpkg-reconfigure -plow unattended-upgradeses täglich und sie wollen das nicht.

Wie würde ich das konfigurieren?



Sie können die apt-Datei von /etc/cron.daily/apteiner Self-Cron-Datei in verschieben und ausführen/etc/cron.d
Rabin

Antworten:


2

Wenn es absolut wichtig ist, nur samstags zu laufen, gehen Sie folgendermaßen vor:

  1. Entfernen Sie die Verpackung anacron. Beachten Sie, dass dies ebenfalls entfernt ubuntu-desktopwird, Sie es jedoch wahrscheinlich nicht auf einem Server benötigen. Dies ist notwendig, da sonst nicht gesteuert werden kann, an welchem ​​Wochentag Anacron die Jobs ausführen wird /etc/cron.weekly.
  2. Bearbeiten Sie die Datei /etc/crontab, sie sollte die folgende Zeile haben:

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

    Ändern Sie das 7auf 6(Samstag) und passen Sie die ersten beiden Zahlen (Minute und Stunde) an Ihre Bedürfnisse an. Dadurch werden alle Jobs /etc/cron.weeklyam angegebenen Wochentag und zur angegebenen Stunde ausgeführt.

  3. Verschieben Sie die Datei /etc/cron.daily/aptnach /etc/cron.weekly/apt.

2

Die aptDatei /etc/cron.dailyenthält Anweisungen dazu:

# Create /etc/apt/apt.conf.d/02periodic file to set your preference.
....
#
#  APT::Periodic::Unattended-Upgrade "0";
#  - Run the "unattended-upgrade" security upgrade script
#    every n-days (0=disabled)
#    Requires the package "unattended-upgrades" and will write
#    a log in /var/log/unattended-upgrades

Rahmen

APT::Periodic::Unattended-Upgrade "7";

führt diesen Lauf alle sieben Tage durch, und wenn Sie dies am Freitag ändern, wird der erste Cron-Tageslauf am Samstagmorgen (standardmäßig 6:25 Uhr /etc/crontab) ausgeführt.

Wenn der Computer zu diesem Zeitpunkt nicht verfügbar ist, wird das Skript am folgenden Tag ausgeführt, an dem das System aktiv ist. Und jede Woche nach diesem (neuen) Tag. Auf diese Weise erhalten Sie wöchentliche Updates auf einem Computer, der an einem bestimmten Tag nicht immer verfügbar ist, aber nicht Ihren Wünschen entspricht.

Eine Sache, die Sie tun können, um nicht mehr synchron zu sein, ist die Verwendung eines Crontab-Eintrags, um einen Berührungsbefehl auszuführen, der die Stempeldatei /var/lib/apt/periodic/update-stampentsprechend berührt (dh auf "letzten Samstagmorgen erledigt" setzt).


Das ist sehr spröde. Wenn nach dem Festlegen an einem Samstag Ausfallzeiten auftreten, sodass das Skript cron.daily nicht ausgeführt wird, werden die Upgrades an einem anderen Wochentag durchgeführt.
Krzysztof Kosiński

2
@ KrzysztofKosiński Sie irren sich, was passiert ist, dass es am Sonntag läuft, wenn die Maschine wieder hochgefahren ist (oder an jedem anderen Tag, an dem dies passiert). Es läuft an diesem Tag nicht mehr synchron, bis ein manueller Eingriff erfolgt. Ärgerlich genug, aber es als brüchig zu bezeichnen, ist unangemessen. Das würde passieren, wenn Sie die festgelegte Aktualisierungszeit jeden Samstag
einplanen

Wenn es wichtiger ist, nur samstags zu laufen, als mindestens einmal alle N Tage zu laufen, ist alles, was Anacron verwendet, nicht ausreichend. Es ist nicht sofort klar, was der OP-Kunde will.
Krzysztof Kosiński
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.