it-swarm-vi.com

Cú pháp chính xác để chạy cron cứ sau 4 giờ là gì?

Tôi có cú pháp sau (mà tôi nghĩ là CorrecT?) Nhưng nó chạy lệnh mỗi phút!

* */4 * * * /cmd.sh
63
erotsppa
0 0,4,8,12,16,20 * * * /cmd.sh

Đó có lẽ là cách tôi sẽ làm điều đó. Điều này sẽ chạy công việc cứ sau 4 giờ, vào các giờ 00:00, 04:00, 08:00 12:00, 16:00, 20:00.

Đây chỉ là một cách viết dài dòng hơn một chút */4, nhưng nó sẽ hoạt động như nhau.

64
phuzion

Bài đăng gốc, trước khi chỉnh sửa, hiển thị cấu hình là:

  • */4 * * * /cmd.sh

Người đăng không quen thuộc với Markdown và đặt dấu hoa thị vào cột đầu tiên, khiến nó xuất hiện dưới dạng một viên đạn. Tôi đã chỉnh sửa bài đăng của họ để phản ánh những gì họ dự định đăng:

* */4 * * * /cmd.sh

Trong cấu hình đó, người đăng sẽ nhận được hành vi mà họ quan sát thấy: Công việc sẽ chạy một lần mỗi phút trong nhiều giờ chia hết cho 4.

Để tránh chạy một lần mỗi phút, một số cần thiết trong cột đầu tiên, như thế này:

15 * * * * whatever...

Điều đó sẽ chạy vào phút thứ 15 sau mỗi giờ.

Kết hợp tất cả lại với nhau: Để chạy một lần mỗi giờ trong nhiều giờ chia hết cho 4, hãy sử dụng cú pháp này:

15 */4 * * * whatever...
76
Evan Anderson

Thực hiện một crontab -e và sau đó thêm mục sau đây

0 */4 * * * path_to_the_script

Đây sẽ là kịch bản cứ sau 4 giờ.

28

Vấn đề là * trong cột đầu tiên

'* */2 * * */đường dẫn đến tập lệnh'

điều này chuyển thành chạy mỗi phút mỗi giờ, nhưng chỉ thực hiện mỗi 2 giờ

9
charlie