Là khởi động lại cron hoặc crond sau mỗi lần bổ sung hoặc sửa đổi lịch trình mới?


29

Khi tôi lên lịch công việc, một số dường như được áp dụng ngay lập tức, trong khi những người khác sau khi khởi động lại. Vì vậy, có nên khởi động lại cron( crond) sau khi thêm một công việc định kỳ mới không? Làm thế nào để làm điều đó đúng cách (đặc biệt là trong một hệ thống Debian) và nên được thực hiện với sudo(như sudo service cron restart) ngay cả đối với người dùng bình thường '?

Tôi đã thử:

/etc/init.d/cron restart

mà dường như không hoạt động (không /etc/init.d/cron stophoặc service cron stop) và hoàn thành với mã trả về 1.

Đây là một phần của đầu ra tin nhắn:

Vì tập lệnh mà bạn đang cố gắng gọi đã được chuyển đổi thành công việc Upstart, bạn cũng có thể sử dụng tiện ích stop (8), ví dụ dừng dừng cron: Từ chối gửi tin nhắn, 1 quy tắc phù hợp; type = "method_call", sender = ": 1.91" (uid = 1000 pid = 3647 comm = "stop cron") interface = "com.ub Ubuntu.Upstart0_6.Job" thành viên = "Dừng" tên lỗi = "(chưa đặt) Request_Vply = "0" Destination = "com.ubfox.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")

(điều đó nghĩa là gì?)

Câu trả lời:


18

Không, bạn không phải khởi động lại cron, nó sẽ nhận thấy những thay đổi đối với tệp crontab của bạn ( /etc/crontabhoặc là tệp crontab của người dùng).

Ở đầu / etc / crontab của bạn, bạn có thể có (nếu bạn có triển khai Vixie của cronIIRC đó là trên Debian):

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

Lý do bạn có thể không thấy các thay đổi cụ thể được triển khai là nếu bạn thêm các thứ vào ví dụ /etc/cron.dailyvà việc chạy hàng ngày đã xảy ra.

Thông báo mà bạn nhận được là do bạn sử dụng một cách cũ để khởi động lại cron trên hệ thống của bạn. Cách được đề xuất (nhưng không cần thiết nếu bạn chỉ chỉnh sửa tệp cron) là:

 restart cron

Tất nhiên bạn phải khởi động lại để xem hiệu ứng của công việc cron @reboot


nó không phải là một công việc khởi động lại nhưng mỗi n phút cron công việc .. và khởi động lại dường như làm việc với sudo với cả những cách cũ và mới .. nhưng không phải cho một người sử dụng bình thường ..
chính xác

Làm thế nào để bạn chỉnh sửa crontab? Là người dùng với crontab -e?
Timo

vâng .. crontab -elà những gì tôi sử dụng ..
chính xác là

Bạn có Vixie Cron (nhìn vào man cron-> Tên)
Timo

1
Có vẻ như chỉ lưu các thay đổi là không đủ và các công việc được lên lịch chỉ áp dụng sau khi trình soạn thảo văn bản (tôi sử dụng nano) cũng bị đóng! .. và có lẽ điều đó đã gây ra sự nhầm lẫn ...
chính xác là

3

Một khởi động lại có thể không cần thiết. Giống như tôi đã nói trong bình luận của tôisoạn thảo văn bản mà bạn đã sử dụng (một trong đó được gán cho chỉnh sửa cron-việc làm) để chỉnh sửa các nhiệm vụ cần phải được đóng lại ; chỉ lưu nội dung là không đủ . (Đó là những gì tôi đã trải nghiệm. Chỉnh sửa các tác vụ qua nanovà lưu với Ctrl+ Ovới tệp vẫn mở không áp dụng các chỉnh sửa ngay lập tức mà chỉ sau khi trình chỉnh sửa được đóng bằng Ctrl+ X.)

Và giống như được đề cập trong câu trả lời này (bởi terdon ), cron daemon sẽ kiểm tra, mỗi phút, để xem liệu có công việc nào được chạy và kích hoạt những công việc mà nó phải làm không.

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.