Cú pháp bạn đã thử thực sự mơ hồ. Tùy thuộc vào số ngày trong tháng, một số tháng sẽ chạy vào những ngày lẻ và một số ngày chẵn. Điều này là do cách tính toán sẽ lấy tổng số tích cực và chia chúng ra. Bạn có thể vượt quá hành vi can đảm này bằng cách chỉ định thủ công phạm vi ngày và sử dụng số ngày lẻ hoặc chẵn. Vì các tập lệnh ngày chẵn sẽ không bao giờ chạy vào ngày thứ 31 của các tháng dài hơn, bạn không mất bất cứ thứ gì sử dụng 30 ngày làm cơ sở cho các ngày chẵn và bằng cách chỉ định cụ thể để phân chia nó như thể có 31 ngày bạn có thể buộc lẻ -Thực hiện ngày.
Cú pháp sẽ như thế này:
# Will only run on odd days:
0 0 1-31/2 * * command
# Will only run on even days:
0 0 2-30/2 * * command
Mối quan tâm của bạn về những tháng không có cùng số ngày không quan trọng ở đây vì không có tháng nào có nhiều ngày hơn thế này và đối với tháng hai nghèo, phạm vi ngày sẽ không bao giờ khớp với ngày hoặc hai ngày trước, nhưng sẽ không có hại gì nó được liệt kê.
'Gotcha' duy nhất cho phương pháp này là nếu bạn đang ở trong một chu kỳ ngày lẻ, sau các tháng với 31 ngày, lệnh của bạn cũng sẽ chạy vào ngày đầu tiên của tháng. Tương tự như vậy nếu bạn buộc một chu kỳ chẵn, mỗi năm nhuận sẽ gây ra một chu kỳ ba ngày và cuối tháng Hai. Bạn không thể thực sự hiểu được rằng bất kỳ mô hình thông thường nào của "mọi ngày" không phải luôn luôn rơi vào các ngày chẵn hoặc lẻ trong mỗi tháng và bất kỳ cách nào bạn ép buộc điều này, bạn sẽ có thêm một lần chạy hoặc bị bỏ lỡ giữa tháng với số ngày không phù hợp