Anacron hoạt động như thế nào nếu nó không phải là daemon?


13

Tôi đã đọc về sự khác biệt giữa cron và anacron và tôi nhận ra rằng anacron, không giống như cron không phải là daemon. Vì vậy, tôi tự hỏi làm thế nào nó thực sự hoạt động nếu nó không phải là một daemon.

Câu trả lời:


20

Nó sử dụng nhiều phương thức để chạy:

  • nếu hệ thống đang chạy systemd, nó sẽ sử dụng bộ đếm thời gian systemd (trong gói Debian, bạn sẽ thấy nó trong /lib/systemd/system/anacron.timer);
  • nếu hệ thống không chạy systemd, nó sẽ sử dụng công việc định kỳ hệ thống (in /etc/cron.d/anacron);
  • trong mọi trường hợp, nó chạy các công việc định kỳ hàng ngày, hàng tuần và hàng tháng (trong /etc/cron.{daily,weekly,monthly}/0anacron);
  • nó cũng chạy khi khởi động (từ /etc/init.d/anacronhoặc đơn vị systemd của nó).

Tôi đã nhìn thấy các {a,b,c}ký hiệu xung quanh; Tôi có thể sử dụng nó trong vỏ của tôi? (Tôi không có quyền truy cập vào nó ngay bây giờ hoặc tôi sẽ kiểm tra.) Điều đó có nghĩa là nó có nghĩa là gì - nghĩa là, tất cả các tệp được {...}thay thế bằng bất kỳ thứ gì được phân tách bằng dấu phẩy?
Vụ kiện của Quỹ Monica

3
@QPaysTaxes - Bash (và một vài vỏ khác) mở rộng niềng răng theo cách đó - xem Hướng dẫn tham khảo Bash: Mở rộng
cú đúp

6

anacronkhông phải là một daemon, và do đó nó cần được chạy định kỳ bằng các phương tiện khác. Thông thường, điều này có nghĩa là thực hiện nó với một công việc định kỳ một lần một ngày và có thể cả khi khởi động.

Điều này có thể trông giống như sau trong crontab của root, ví dụ:

@reboot /usr/local/sbin/anacron -ds
@daily  /usr/local/sbin/anacron -ds

Rõ ràng, các hệ thống Linux sử dụng systemd có thể làm điều này khác đi, nhưng vẫn cần tạo điều kiện cho ít nhất một lần chạy trong anacronkhoảng thời gian 24 giờ.

Chạy anacronnhiều hơn một lần cứ sau 24 giờ là vô nghĩa vì khoảng thời gian ngắn nhất mà người ta có thể sắp xếp công việc anacronlà một lần một ngày.


Cảm ơn. (1) Tôi đã tự hỏi "không phải là daemon" nghĩa là gì? (2) liên quan đến câu cuối cùng của bạn: "Bộ đếm thời gian systemd chạy anacron hàng giờ để giảm độ trễ giữa việc nối lại hệ thống bị đình chỉ và chạy anacron tiếp theo" unix.stackexchange.com/questions/478804/
Tim
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.