2012-07-19 31 views
106

Làm thế nào tôi có thể chạy lệnh mỗi sáu giờ mỗi ngày? Cố gắng này không làm việc:Chạy cron job trên linux cứ sau 6 giờ

/6 * * * * * mycommand 
+5

thể trùng lặp của [Làm thế nào để chạy crontab cho mỗi 2 giờ] (http://stackoverflow.com/questions/6423532/how-to-run-crontab-for-every-2-hours) – Cas

+1

Làm thế nào về * */6 * * * – madalinivascu

Trả lời

276

Bạn quên một *, và bạn đã quá nhiều lĩnh vực, và đó là giờ bạn cần phải quan tâm đến

0 */6 * * * /path/to/mycommand 

Điều này có nghĩa mỗi giờ thứ 6 bắt đầu từ 0, tức là tại giờ 0, 6, 12 và 18 Bạn có thể viết gì ở số

0 0,6,12,18 * * * /path/to/mycommand 
+0

cảm ơn bạn đã phản hồi, đây là 6 giờ một lần bắt đầu từ lúc nào? thời gian khi cron được tạo ra? –

+0

cảm ơn, vì vậy nếu tôi muốn chạy nó bắt đầu từ 15:00 mỗi 6 giờ nó sẽ là '15 15,23,05,11 * * */path/to/mycommand'? –

+4

Có, mặc dù trường đầu tiên là phút mà bạn đã đặt thành 15, nghĩa là 15: 15,23: 15,05: 15 và 11:15. (mà không phải là mỗi 6 giờ btw, bạn có thể có nghĩa là '0 15,21,3,9 * * *') – nos

6

Bạn nên thêm đường dẫn đến lệnh của mình, vì cron chạy với môi trường cắt giảm rộng. Bạn sẽ không có tất cả các biến môi trường mà bạn có trong phiên trình diễn tương tác.

Bạn nên chỉ định đường dẫn tuyệt đối cho tập lệnh/nhị phân của mình hoặc xác định PATH trong chính crontab. Để giúp gỡ lỗi bất kỳ vấn đề nào, tôi cũng sẽ chuyển hướng stdout/err sang tệp nhật ký.

+1

cảm ơn cho phản ứng, nhưng nếu tôi tuyên bố biến môi trường bên trong tập tin sh của tôi như 'biến xuất khẩu = cái gì' tôi nhận được vẫn còn sử dụng chúng bên trong cùng một kịch bản? và tôi sử dụng lệnh ngày nhiều bên trong tập lệnh –

+0

@Gandalf - Có. Bạn có thể xác định tất cả các biến env của bạn bên trong tập lệnh. Đó là một ý tưởng hay vì nó có nghĩa là kịch bản của bạn độc lập và bị cô lập với những thứ khác mà bạn có thể muốn chạy trong cron –

4

0 */6 * * * lệnh

Đây sẽ là cách hoàn hảo để nói 6 giờ mỗi ngày.

Lệnh của bạn đặt trong 6 phút.!

Cảm ơn.

+0

Tại sao lại là downvote? Nó không chính xác. – ArsenArsen

+2

@ArsenArsen Tôi khá chắc chắn đó là bởi vì nó không thực sự thêm bất cứ điều gì cho câu trả lời chấp nhận hiện có, đã viết 4 năm trước khi nó. – Adinia

0

0 */6 * * *

crontab mỗi 6 giờ là lịch biểu cron thường được sử dụng.

Cảm ơn,

+1

Câu trả lời này thêm vào những câu trả lời khác là gì? @rkoots đã đề cập đến lệnh chính xác này. – FrankerZ

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