Liệu RHEL / CentOS có thực thi tất cả các tệp cronjob trong /etc/cron.d/* hay chỉ một số trong số chúng không?


19

Đây là hệ thống Red Hat Enterprise Linux 5 (RHEL). Chúng tôi quản lý hệ thống này bằng CFengine.

Chúng tôi có một số cronjobs đang chạy gấp đôi bình thường. Tôi đã kiểm tra các cronjobs bên dưới /etc/cron.d/và thư mục này chứa tập lệnh thực tế được gọi host-backupvà cũng chứa một tập tin sao lưu cfengine được gọi host-backup.cfsaved, như vậy:

/etc/cron.d/host-backup
/etc/cron.d/host-backup.cfsaved

Hệ điều hành này có thực thi tất cả các tệp tại không /etc/cron.d/*, hay nó chỉ thực thi các tệp khớp với một mẫu nhất định. Tôi có thể định cấu hình cái này không, và cái này được định nghĩa ở đâu?

Tôi không thể tìm thấy câu trả lời này trong tài liệu của RHEL hoặc CentOS.

Câu trả lời:


20

(Nếu bạn đang trả tiền cho hỗ trợ của Red Hat, bạn nên hỏi họ loại câu hỏi này. Đây chính xác là những gì bạn đang trả tiền!)

Từ trang người đàn ông RHEL5crontab(5) :

Nếu nó tồn tại, /etc/cron.d/thư mục được phân tích cú pháp như thư mục cron spool, ngoại trừ các tệp trong đó không dành riêng cho người dùng và do đó được đọc theo /etc/crontabcú pháp (người dùng được chỉ định rõ ràng trong cột thứ 6).

.

Nhìn vào nguồn, tôi thấy rằng các tập tin sau đây là bỏ qua: .*, #*, *~. *.rpmnew, *.rpmorig, *.rpmsave. Vì vậy, có, các *.cfsavedtập tin của bạn được đọc ngoài bản gốc.


Xin chào Giles, cảm ơn tôi đã tìm thấy cú pháp chính xác tương tự từ vixie-cron-4.1-77.el5_4.1.src.rpm. Trớ trêu thay, văn bản này KHÔNG được bao gồm trong bất kỳ trang man nào cho cron và không được bao gồm với bất kỳ tệp văn bản nào trên hệ thống. Tôi không chắc tại sao lại như vậy, nhưng đó là một chủ đề cho một cuộc thảo luận khác.
Stefan Lasiewski

Và tôi đã đăng một câu hỏi tiếp theo tại unix.stackexchange.com/questions/4815
Stefan Lasiewski

@Giles: Bạn thắng. Nguồn RedHat nên chứa câu trả lời dứt khoát. Trong trường hợp này, (nguồn dường như khác với các tệp đã cài đặt) [unix.stackexchange.com/questions/4815], nhưng đó là một chủ đề khác.
Stefan Lasiewski

6

Đây là câu trả lời từ bộ phận hỗ trợ của RedHat:

Xin lưu ý rằng tất cả các tệp trong thư mục cron.d đều được kiểm tra và thực thi, về cơ bản, đó là phần mở rộng của tệp / etc / crontab (nghĩa là tương tự nếu bạn thêm các mục vào tệp / etc / crontab)

Vì vậy, để trả lời câu hỏi của tôi "Hệ điều hành này có thực thi tất cả các tệp tại /etc/cron.d/* không, hay nó chỉ thực hiện các tệp khớp với một mẫu nhất định. Tôi có thể định cấu hình này không và định nghĩa này ở đâu?"

Tất cả các tệp trong /etc/cron.d/* đều được thực thi (Mặc dù có vẻ như một số phần mở rộng tệp nhất định như .rpmsave, * ~, v.v., bị bỏ qua, theo tài liệu trong các tệp nguồn). Không thể cấu hình điều này thông qua một tập tin cấu hình. Cấu hình này có thể là có thể nếu nguồn được biên dịch lại. Hành vi này được đề cập trong tài liệu có trong nguồn, nhưng không xuất hiện trong bất kỳ trang hướng dẫn hoặc trang hướng dẫn nào mà tôi có thể tìm thấy.


5

Tôi nghĩ lý do bạn gặp khó khăn trong việc theo dõi câu trả lời là vì đó không phải là câu hỏi dành riêng cho Red Hat. Vấn đề bạn gặp phải là một phần của chức năng tiêu chuẩn của cron- mỗi tệp trong thư mục bạn xác định sẽ tự động được coi là một công việc riêng biệt .

Vì vậy, câu trả lời ngắn cho câu hỏi của bạn là "có, tất cả các tệp được thực thi". Đây không phải là một cái gì đó tôi nghĩ rằng có thể được cấu hình.


2
Có nhiều cách thực hiện khác nhau của cron. Debian và Ubuntu xuất xưởng với Vixie Cron (3.0) và việc xử lý cron.dđược mô tả trong trang hướng dẫn của nó . Các tàu RHEL có ISC cron 4.1 (một ngã ba của cùng một dự án) và trang man (ít nhất là trên CentOS ) không đề cập đến cron.d.
Gilles 'SO- ngừng trở nên xấu xa'

1
@Gilles: Cảm ơn các con trỏ. Tôi đang sử dụng Fedora, đã cài đặt Cronie (cũng là một nhánh của Vixie / ISC Cron). Trang người đàn ông được đề cập /etc/cron.dlà một trong những con đường tìm kiếm. Tôi xin lỗi nếu không có đủ chi tiết trong câu trả lời của tôi - tôi chắc chắn chắc chắn rằng điều này cũng sẽ áp dụng cho Red Hat. Vui lòng cho tôi biết nếu đó không phải là trường hợp
mlschechter

1
Sau khi xem xét, đây chính xác là một câu hỏi dành riêng cho Red Hat (xem câu trả lời của tôi). Nó đặc biệt của Red Hat đến nỗi ngay cả CentOS cũng khác, và Fedora có lẽ cũng khác (nhưng tôi chưa kiểm tra).
Gilles 'SO- ngừng trở nên xấu xa'

1
@Gilles - xin lỗi vì sự chậm trễ trong việc trả lời. Kể từ Red Hat EL 5 , Red Hat sử dụng vixie-cron. RHEL 6 sử dụng cronie. Sau khi xem xét tài liệu của RHEL 5, tôi nghĩ rằng nó xác nhận kết luận ban đầu (nếu không chính xác). Một lần nữa, cảm ơn tất cả sự giúp đỡ về việc đào bới này.
mlschechter
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.