Chỉ chạy Cập nhật bảo mật Ubuntu vào mỗi thứ bảy


7

Một khách hàng muốn kích hoạt cập nhật bảo mật tự động trên hộp 12.04 của họ, nhưng nó phải được thực hiện một lần mỗi tuần, chỉ vào thứ bảy (tại sao tôi không biết).

Khi tôi làm điều dpkg-reconfigure -plow unattended-upgradesđó hàng ngày và họ không muốn điều đó.

Làm thế nào tôi có thể cấu hình này?



Bạn có thể di chuyển tệp apt từ /etc/cron.daily/aptvà chạy nó từ tệp tự cron trong/etc/cron.d
Rabin

Câu trả lời:


2

Nếu nó thực sự quan trọng để chỉ chạy vào thứ bảy, thì hãy làm điều này:

  1. Bỏ gói hàng anacron. Lưu ý rằng điều này cũng loại bỏ ubuntu-desktop, nhưng bạn có thể sẽ không cần nó trên máy chủ. Điều này là cần thiết, bởi vì nếu không thì không thể kiểm soát được ngày nào trong tuần Anacron sẽ điều hành công việc /etc/cron.weekly.
  2. Chỉnh sửa tập tin /etc/crontab, nó nên có dòng sau:

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

    Thay đổi 7thành 6(Thứ bảy) và điều chỉnh hai số đầu tiên (phút và giờ) theo nhu cầu của bạn. Điều này sẽ khiến tất cả các công việc /etc/cron.weeklychạy vào ngày được chỉ định trong tuần và giờ.

  3. Di chuyển tệp /etc/cron.daily/aptđến /etc/cron.weekly/apt.

2

Các apttập tin trong /etc/cron.dailybao gồm các hướng dẫn cho điều này:

# 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

cài đặt

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

làm cho việc này chạy cứ sau bảy ngày và nếu bạn thay đổi điều đó vào thứ Sáu, thì lần chạy hàng ngày đầu tiên sẽ vào sáng thứ bảy (6:25 sáng theo mặc định /etc/crontab).

Nếu máy ngừng hoạt động vào thời điểm đó, tập lệnh sẽ chạy vào ngày hôm sau khi hệ thống hoạt động. Và mỗi tuần sau ngày đó (mới). Bằng cách đó, bạn nhận được các bản cập nhật hàng tuần trên một máy không phải lúc nào cũng hoạt động vào một ngày nhất định, nhưng không phải là những gì bạn muốn.

Một điều bạn có thể làm để thoát khỏi đồng bộ hóa là sử dụng mục nhập crontab để chạy lệnh cảm ứng chạm vào tệp tem /var/lib/apt/periodic/update-stampmột cách thích hợp (ví dụ: đặt nó thành 'thực hiện vào thứ bảy tuần trước')


Điều này rất dễ vỡ. Nếu sau khi thiết lập điều này, có thời gian chết vào thứ bảy để tập lệnh cron.d Daily không thực thi, việc nâng cấp sẽ bắt đầu xảy ra vào một ngày khác trong tuần.
Krzysztof Kosiński

2
@ KrzysztofKosiński Bạn đang nhầm, điều gì xảy ra là nó chạy vào Chủ nhật khi máy hoạt động trở lại (hoặc bất kỳ ngày nào khác điều này xảy ra). Nó không đồng bộ hóa chạy vào ngày hôm đó sau đó cho đến khi can thiệp thủ công. Khó chịu đủ, nhưng gọi nó là dễ vỡ là không phù hợp, điều đó sẽ xảy ra nếu bạn lên lịch cập nhật thời gian cố định vào mỗi thứ bảy
Anthon

Nếu việc chạy vào thứ bảy chỉ quan trọng hơn là chạy ít nhất một lần mỗi N ngày, thì bất cứ điều gì sử dụng anacron đều không đủ. Nó không ngay lập tức rõ ràng những gì khách hàng của OP muốn.
Krzysztof Kosiński
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.