*/20 * * * *
Chạy Cron công việc mỗi N phút cộng với bù đắp
Đảm bảo nó chạy mỗi 20 phút, tôi muốn chạy một nhiệm vụ mỗi 20 phút, bắt đầu lúc 5 giờ quá khứ, có thể như vậy với Cron? Có thể là:
5/20 * * * *
?
*/20 * * * *
Chạy Cron công việc mỗi N phút cộng với bù đắp
Đảm bảo nó chạy mỗi 20 phút, tôi muốn chạy một nhiệm vụ mỗi 20 phút, bắt đầu lúc 5 giờ quá khứ, có thể như vậy với Cron? Có thể là:
5/20 * * * *
?
Để chạy một nhiệm vụ mỗi 20 phút bắt đầu từ 5 quá khứ giờ, hãy thử này:
5-59/20 * * * *
Giải thích
Một *
trong lĩnh vực phút cũng giống như 0-59/1
nơi 0-59
là phạm vi và 1
là bước. Lệnh sẽ chạy vào phút đầu tiên trong phạm vi (0), sau đó ở tất cả các phút liên tiếp cách xa đầu tiên bởi bước (1), cho đến khi (59) cuối cùng.
Đó là lý do tại sao */20 * * * *
sẽ chạy sau 0 phút, 20 phút sau và 40 phút sau - tương tự như sau mỗi 20 phút. Tuy nhiên, sẽ chạy sau 0 phút, 25 phút sau và 50 phút sau - không giống như sau mỗi 25 phút. Đó là lý do tại sao thường sử dụng giá trị bước trong trường phút chia đều cho 60.
Vì vậy, để bù thời gian bắt đầu, hãy xác định phạm vi một cách rõ ràng và đặt giá trị đầu tiên cho số tiền bù.
Ví dụ
5-59/20 * * * *
sẽ chạy lúc 5 phút sau đó, phút 25 sau đó, và 45 phút sau đó.
10-59/25 * * * *
sẽ chạy sau 10 phút và sau 35 phút.
1-59/2 * * * *
sẽ chạy mỗi phút lẻ.
hoạt động hoàn hảo. làm thế nào bạn tìm nó ở ngoài kia? Bạn có thể chỉ cho tôi hướng tới tài liệu không? Cảm ơn. – AJP
Một loạt các tìm kiếm của Google đã dẫn tôi đến [câu trả lời lỗi máy chủ này] (http://serverfault.com/a/429397/181709). Nó có một sai lầm khiến tôi thực sự bối rối, đặc biệt là vì các kết quả khác gợi ý rằng * bước modulus phải bằng 0. Cuối cùng tôi đã tìm thấy [trang hướng dẫn này] (http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.rtn.doc%2Fdoc% 2Fc0054381.html) đã cho tôi câu trả lời.Kết quả là, tôi đã có thể nhận xét về câu trả lời Lỗi máy chủ đã được khắc phục. Tôi không nhớ các thuật ngữ tìm kiếm thực tế mà tôi đã sử dụng để tìm trang IBM. – toxalot
Cảm ơn và rất tốt công việc @toxalot, tôi muốn chúng tôi có thể trao cho bạn huy hiệu "Điều tra viên không mệt mỏi"! : P – AJP
Chắc chắn!
5,25,45 * * * * /your/cron
Cảm ơn. Tôi đã kết thúc làm điều này, hy vọng có thể có một giải pháp thanh lịch hơn cho nó. – AJP
Đôi khi giải pháp đơn giản tốt hơn vì dễ đọc và dễ hiểu. Tôi thích biết rằng '5-59/20' là có thể, nhưng '5,25,45' có lợi thế là nó ngay lập tức rất rõ ràng những gì mà không. – thomasrutter
chỉ khi bước của bạn đủ lớn – Tebe
Bạn có thể thử: */5 * * * * sleep N; your job
Cảm ơn người Babylon, người đã quyết định rằng hệ thống thời đại chúng ta nên chia chính xác bởi 1,2,3,4,5 và 6. – arivero
nếu nó chia hết cho 2 và 3 nó cũng chia hết cho bởi 6 – Ziofil