2012-03-13 37 views
7

Tôi muốn tạo một công việc định kỳ chạy mỗi x tuần và vào một ngày cụ thể. Ví dụ: : chạy 2 tuần một lần vào nửa đêm mỗi Chủ Nhật và Thứ Hai.Công việc Cron chạy cứ x tuần một lần và vào những ngày cụ thể

biểu thức cron được lưu trữ cho mọi "gói" và tôi sử dụng chức năng ncrontab trong SQL Server 2008 để tạo ngày biểu hiện cron đã cho.

Có biểu hiện cho nó không? hoặc thậm chí tham gia một số biểu thức?

Tôi đã cố gắng sử dụng các biểu thức sau đây, nhưng nó luôn mang đến những ngày cùng tháng

0 0 1/14 * * 

2012-01-01 00:00:00.000 
2012-01-15 00:00:00.000 
2012-01-29 00:00:00.000 
2012-02-01 00:00:00.000 
2012-02-15 00:00:00.000 
2012-02-29 00:00:00.000 

EDIT:
tôi đang tìm kiếm một sự tái phát của mỗi x ngày/tuần và các chính vấn đề với cron, là nó reset resurrence đến ngày đầu tiên của tháng mỗi lần. Ví dụ: , nếu tôi bắt đầu lặp lại vào ngày 29 cho mỗi 3 ngày, lần xuất hiện tiếp theo sẽ là ngày đầu tiên của tháng tiếp theo.

tôi đã bỏ rơi cron cho các giải pháp tiếp theo: http://www.codeproject.com/Articles/20343/Recurring-Date-Generator-with-Pattern-Coding

Trả lời

1

thử 0 0 * * 0/2,1/2

01 là Chủ nhật và thứ Hai, và /2 là 'mỗi khác'

EDIT:

Sau khi nghiên cứu thêm về cron, ở trên không chính xác becau se /2 cho biết bước (mọi giá trị khác), vì vậy 0/2 tương đương với 0,2,4,60/2,1/2 tương đương với 0,1,2,3,4,5,6,7 giải thích lý do bạn thấy nó được hiểu là mỗi ngày trong tuần.

Trong ví dụ của bạn ở trên 1/14 có nghĩa là bắt đầu với 1 tháng, tăng 14, năng suất 1,15,29

Điều đó đang được nói, nếu điều này là cho một crontab * nix, sau đó bạn có thể đã được chi tiết hơn về lên lịch bằng cách có một cái gì đó như 0 0 * * Sun,Mon check_if_should_run.sh && the_script_to_run.sh. Sử dụng Ncrontab, tôi không thể nghĩ ra cách để thiết lập kịch bản mỗi tuần.

+1

Tôi đã thử và tôi có sự lặp lại mỗi ngày, bắt đầu từ Chủ nhật. Nếu tôi thử 0 0 * * 0/2, nó cho tôi một sự tái diễn vào mỗi Chủ Nhật và cứ hai ngày một lần –

Các vấn đề liên quan