Làm cách nào để tạo cron chạy mỗi Chủ nhật khác vào Chủ nhật KHÁC?


10

Tôi có một công việc định kỳ chạy ở 0 0 * * 0/2 - tức là mỗi Chủ nhật khác. Nó chỉ chạy bây giờ, ví dụ. Tuy nhiên, tôi muốn nó chạy vào các Chủ nhật khác - Chủ nhật tới, thay vì Chủ nhật này. Một cách khác để đặt nó: Tôi cho rằng nó chạy vào các Chủ nhật có số chẵn trong năm, nhưng tôi muốn nó chạy vào các Chủ nhật có số lẻ.

Tôi không thấy bất cứ điều gì trong "man 5 crontab" sẽ giúp tôi điều này vì vậy tôi cho rằng tôi cần phải quay lại để chạy cronjob ở 0 0 * * 0 và sau đó làm gì đó trong lệnh tôi chạy để kiểm tra vào Chủ nhật nào Là. Bất cứ ai có thể giúp tôi với một số thủ thuật dòng lệnh phù hợp cho việc này?

ETA: đã nhận ra rằng 0/2 của tôi không làm những gì tôi nghĩ ban đầu (mỗi Chủ nhật thứ hai) cả. Nó chạy vào mỗi Chủ nhật, miễn là ngày đó trong tuần chia hết cho hai, tất nhiên là vậy. Cô ơi. Dù sao, yêu cầu cơ bản vẫn là: chạy một lệnh vào Chủ nhật có số lẻ.


"Số lẻ" như trong "Chủ nhật thứ nhất, thứ ba và thứ năm"?
voretaq7

1
Không, như trong 1, 3, 5, 7, ... tuần thứ 49, 51 của năm. Nói cách khác, hai tuần một lần, vào Chủ nhật rơi vào các tuần số lẻ trong năm.
Skud

Xin lỗi - bạn sẽ không làm điều đó cho bạn. Bạn sẽ cần phải kiểm tra kịch bản của mình xem đó có phải là tuần phù hợp với bạn không. (Ngoài ra, nếu bạn nhớ tôi từ một nơi nào đó - sóng HI !!! )
Jenny D

Câu trả lời:


3

Tôi sẽ không giả vờ đã tự mình thực hiện nhiệm vụ đặc biệt này, nhưng câu hỏi Stack Overflow này có một số câu trả lời cho thấy mánh khóe dòng lệnh tiềm năng: /programming//questions3530047/how-to-instruct-cron-to- thực hiện một công việc-mỗi-giây-tuần


Không ai trong số họ làm cron chạy vào các tuần được đánh số lẻ. Tất cả họ chỉ đơn giản là làm mọi thứ khác. Một số cách cực kỳ kỳ lạ và "sáng tạo" mà tôi cũng không đề xuất.
Chris S

Câu trả lời được bình chọn hàng đầu dường như chạy mỗi tuần và sau đó dựa vào thủ thuật dòng lệnh để xác định xem đó có phải là tuần thích hợp hay không.
nmjk

1
Có, nhưng đó là modulo 2, có nghĩa là nó sẽ chạy vào các tuần được đánh số chẵn. Có thể xếp chồng nhiều evalkhối để thêm một khối và sau đó thực hiện modulo 2. Điều đó thật xấu xí, nhưng tôi cho rằng nó có thể hoạt động.
Chris S

1
Từ câu trả lời được liên kết, có vẻ như nó có tiềm năng: date +\%W\% 2> / dev / null || bất cứ điều gì ... Tuy nhiên, để có được số tuần lẻ , tôi muốn làm "&& bất cứ điều gì" thay vì ||
Skud

1
Vì vậy, yêu cầu làm rõ. Bạn có muốn xác định "mỗi tuần lẻ" tính theo tuần, hoặc tính theo tuần? Tôi khá chắc chắn điều sau là có thể nhưng tôi phải tìm một số đoạn cũ tôi đã sử dụng trong quá khứ.
nmjk
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.