Ngày khác Tôi phát hiện ra rằng bộ chứa Docker của tôi đã bị giết vì trình nền docker đã được nâng cấp tự động trên hộp AWS mà tôi đang chạy.
nhật ký
đã hiển thị các thông báo này trong khung thời gian có liên quan:
Ngày 06 tháng 8 05:56:01 ip-192-168-3-117 systemd[1]: Bắt đầu hoạt động tải xuống apt hàng ngày...
Ngày 06 tháng 8 05:56:11 ip-192-168-3-117 systemd[1]: Bắt đầu hoạt động tải xuống apt hàng ngày.
Ngày 06 tháng 8 06:06:39 ip-192-168-3-117 systemd[1]: Bắt đầu hoạt động dọn dẹp và nâng cấp apt hàng ngày...
Ngày 06 tháng 8 06:06:48 ip-192-168-3-117 systemd[1]: Đang tải lại.
Ngày 06 tháng 8 06:06:48 ip-192-168-3-117 systemd[1]: Tin nhắn bắt đầu trong ngày...
Ngày 06 tháng 8 06:06:48 ip-192-168-3-117 systemd[1]: Đang tải lại.
Ngày 06 tháng 8 06:06:49 ip-192-168-3-117 systemd[1]: Đang tải lại.
Ngày 06 tháng 8 06:06:49 ip-192-168-3-117 systemd[1]: Dừng Docker Application Container Engine...
Làm thế nào tôi có thể biết khi nào điều này được lên lịch để chạy? Tôi đã xem qua các công việc định kỳ khác nhau trong /vân vân
và tôi đã nghĩ /etc/cron.daily/apt-compat
đã tham gia, vì nó chứa điều này ở cuối:
# trì hoãn thực hiện công việc trong một khoảng thời gian ngẫu nhiên
ngẫu nhiên_ngủ
# đảm bảo chúng tôi không làm điều này trên pin
check_power || thoát 0
# chạy công việc hàng ngày
exec /usr/lib/apt/apt.systemd.daily
nhưng hóa ra nó không bao giờ đi xa được như vậy, vì nó thực sự chỉ sử dụng hệ thống
. Tôi đã bỏ qua điều này khi bắt đầu cron.daily/apt-compat
:
# Hệ thống systemd sử dụng đơn vị hẹn giờ systemd thích hợp hơn
# chạy. Chúng tôi muốn chọn ngẫu nhiên bản cập nhật apt và nâng cấp không giám sát
# chạy càng nhiều càng tốt để tránh va vào gương ở tất cả
# cùng một lúc. Thời gian systemd lúc này tốt hơn thời gian cố định
# cron.thời gian hàng ngày
nếu [ -d /run/systemd/system ]; sau đó
thoát 0
fi
Vì vậy, bằng cách nào đó, systemd lên lịch để chạy thay thế.
Tập tin đó, /usr/lib/apt/apt.systemd.daily
, về cơ bản có vẻ như tập lệnh chịu trách nhiệm, mặc dù tôi không thể tìm thấy bất kỳ chuỗi nào ở trên, chẳng hạn như "Bắt đầu hoạt động .*".
Vì vậy, systemd đang lên lịch trình này, nhưng nó được lưu trữ ở đâu? Nó bảo chạy ở đâu /usr/lib/apt/apt.systemd.daily
?