Crontab nhập cảnh với phạm vi giờ hơn nửa đêm


18

Đây có phải là đặc điểm kỹ thuật thời gian crontab hợp lệ, làm những gì được mong đợi:

0 22-4 * * *

Hoặc là cần thiết để làm một cái gì đó như

0 22,23,0,1,2,3,4 * * *

Câu trả lời:


5

Tôi chưa bao giờ thử sử dụng một phạm vi như thế và tôi không chắc liệu nó có hoạt động không. Vì vậy, lời khuyên đầu tiên của tôi sẽ là kiểm tra nó và xem điều gì sẽ xảy ra - mặc dù có lẽ với một kịch bản chỉ thực hiện một mục nhật ký hoặc một cái gì đó vô hại.

Thứ hai, đối với cron ATT và BSD, bạn không thể có phạm vi và danh sách cùng tồn tại, do đó, bạn sẽ phải liệt kê mỗi giờ riêng biệt hoặc có hai dòng, một dòng có phạm vi và một dòng có danh sách.


Câu hỏi đã sửa đổi có giá trị trên ATT / BSD bằng câu trả lời của bạn. Tôi thực sự đang viết thông số crontab "của tôi" trong cấu hình công việc Jenkins (và sẽ kiểm tra tối nay với công việc giả), nhưng tôi hỏi ở đây để biết hành vi dự kiến ​​trên hệ thống Unix / Linux là gì.
hyde

Trên thực tế tôi mong đợi nó không hoạt động và ngạc nhiên thú vị nếu nó đã làm. Nhưng tôi cũng mong cron sẽ khiếu nại nếu bạn nhập một phạm vi không hợp lệ.
Jenny D

11

Tôi gặp vấn đề khi chạy cronjobs hơn nửa đêm. Cuối cùng tôi đã đưa vào hai mục gần như giống hệt nhau cho các kịch bản liên quan.

* 22-00 * * * /myscript
* 00-05 * * * /myscript

Điều đó dường như để thực hiện các mẹo.
Tôi đã gặp phải lỗi cron vì sử dụng 22-05 và do quá trình loại bỏ đã đưa ra giải pháp này.


Chỉ cần một lưu ý, có vẻ như nó không hoạt động */5, ví dụ:*/5 00-05 * * * /myscript
dentex

8

Có một loạt các cron daemon xung quanh, trừ khi bạn cho biết chính xác bạn đang sử dụng cái gì (việc xử lý danh sách trong các trường hợp góc như vậy rất có thể thay đổi từ phiên bản sang phiên bản tiếp theo) thì không thể có câu trả lời. Đặt cược tốt nhất là đi với danh sách rõ ràng của bạn. Tôi sẽ không quá ngạc nhiên nếu một số thực thi lấy sự bao bọc của bạn như một cách nói kỳ lạ 4-22...

Có tài liệu địa phương của bạn thậm chí đề cập đến loại trường hợp này? Có lẽ nó là hợp pháp để có hai danh sách, ví dụ 22-24,1-4?


8
Tôi có thể xác nhận rằng 22-23,0-4(lưu ý rằng crontab không 24hoạt động) hoạt động hoàn hảo, ít nhất là trên các centos tôi đã thử nghiệm trên đó.
qwertyboy
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.