Tôi muốn một tập lệnh chạy mỗi 40 phút bắt đầu vào phút thứ 40.
do đó có nghĩa:Làm thế nào để đặt cron để chạy tập lệnh của tôi cứ 40mins/25 phút?
00:40, 01:20, 02:00, 02:40, 03:20...
Vì vậy, tôi viết vào cron:
*/40 * * * * /path/to/script/foo.sh
Thật không may này chạy kịch bản mỗi phút thứ 40 của giờ:
00:40, 01:40, 02:40...
Cũng vậy với kịch bản mà tôi muốn chạy mỗi 25 phút.
Tôi có thiếu gì đó ở đây không?
TRẢ LỜI
Alright, trong trường hợp bạn tình cờ ghé qua đây gặp vấn đề tương tự
dưới đây là cách tôi giải quyết nó:
# 40mins-interval
40 0 * * * /path/foo.sh (0)
0,40 2-22/2 * * * /path/foo.sh (2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22)
20 1-23/2 * * * /path/foo.sh (1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23)
# 25mins-interval
25,50 0 * * * /path/foo.sh (0)
0,25,50 5-20/5 * * * /path/foo.sh (5, 10, 15, 20)
15,40 1-21/5 * * * /path/foo.sh (1, 6, 11, 16, 21)
5,30,55 2-22/5 * * * /path/foo.sh (2, 7, 12, 17, 22)
20,45 3-23/5 * * * /path/foo.sh (3, 8, 13, 18, 23)
10,35 4-19/5 * * * /path/foo.sh (4, 9, 14, 19)
Ghi chú:
1. Sẽ có vẫn là các xung đột trong lịch biểu này (ví dụ: xem lịch biểu chạy vào ngày thứ 0 và thứ 10 trong cả hai khoảng thời gian).
2. Tập lệnh sẽ không chạy ở khoảng thời gian chính xác từ lần chạy cuối cùng của nó hôm nay vào ngày tiếp theo (ví dụ: khoảng 25 phút kết thúc @ 23: 45 hôm nay, bắt đầu @ 00: 25 ngày hôm sau).
đọc: http://stackoverflow.com/questions/745901/how-to-do-a-cron-job- mỗi 72 phút –
Cảm ơn! Điều này hút nhưng tôi đoán tôi sẽ phải làm các thiết lập 'thủ công' của các khoảng như một sửa chữa bẩn cho bây giờ. – cr8ivecodesmith
Tôi biết nó đã được 4 năm, nhưng tôi có thể có một giải pháp cho cron 25 phút. Bạn có thể chạy cron mỗi phút (hoặc sau 5 phút ..) và tập lệnh của bạn sẽ phát hiện nếu 25 phút trôi qua. Nếu đó là sự thật, sau đó kịch bản của bạn sẽ làm công việc của mình. – Kayla