Ý nghĩa của mục nhập * * / 1 * * * cron nhập?


13

Bằng cách nào đó, tôi cảm thấy khó hiểu khi điều chỉnh xung quanh *các tham số với cron.

Tôi muốn có một công việc để chạy mỗi giờ và tôi đã sử dụng cài đặt bên dưới:

* */1 * * *

Nhưng nó dường như không làm việc. Ai đó có thể vui lòng giải thích ý nghĩa của ở trên và những gì cần thiết cho công việc?


Được rồi, giờ thì tôi đã hiểu: Vấn đề là ở dấu *, tôi đã đặt ở vị trí phút ... * / 1 và * ở vị trí giờ có thể có nghĩa tương tự mặc dù ..
xyz

1
Trên thực tế, có vẻ như nó sẽ chạy mỗi phút! Nếu nó hoàn toàn không chạy thì bạn có một vấn đề khác. Chuỗi xuất hiện sau phần mà bạn đã đăng là gì?
dotancohen

Câu trả lời:


23
  • *có nghĩa là mọi .
  • */nnghĩa là mọi thứ n . (Vậy */1có nghĩa là mỗi 1. )

Nếu bạn muốn chạy nó chỉ một lần mỗi giờ, thì bạn phải đặt mục đầu tiên thành một thứ khác sau đó *, ví dụ 20 * * * *để chạy nó mỗi giờ vào phút 20.

Hoặc nếu bạn có quyền viết /etc/cron.hourly/ (hoặc bất cứ điều gì nó có trên hệ thống của bạn), thì bạn có thể đặt một tập lệnh ở đó.


1
Tôi nghĩ n, có nghĩa là mọi thứ n. Sự khác biệt giữa n và 1 / n sau đó là gì?
xyz

7
ncó nghĩa là chính xác tại n . Giống như trên, 20 có nghĩa là ở phút 20 . 1/ncó nghĩa là bắt đầu từ 1, mỗi thứ n . Tuy nhiên, trong thực tế, điều này được sử dụng như là 1-2/n, có nghĩa là trong khoảng từ 1 đến 2, mỗi lần thứ n . (Lưu ý rằng không phải tất cả các crontriển khai đều hỗ trợ các khoảng thời gian.)
manatwork

5
+1 để chỉ thả nó /etc/cron.hourlyvào bất kỳ máy hiện đại nào. Chúng tôi đã chờ đợi hàng thập kỷ cho nó, và đó là những gì nó có cho!
Aaron D. Marasco

2

*/1dư thừa, bạn nên sử dụng *thay thế.

* */1 * * *

không chạy công việc mỗi giờ, chạy nó mỗi phút!
Để chạy một công việc mỗi giờ (lúc 1:00, 2:00, v.v.) hãy sử dụng

0 * * * *  
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.