Làm thế nào đến crontab -e khác với ít / etc / crontab?


11

Tôi khá mới với unix và crons, tôi hiện đang cố gắng thêm crons vào một tệp cron hiện có. Tôi đọc bạn có thể làm điều này với crontab -e. Điều khó hiểu với tôi chỉ là nó crontab -echo thấy các lệnh / lệnh khác nhau hơn less /etc/crontab- làm thế nào? Cái nào là cách chính xác / tập tin để chỉnh sửa?

Câu trả lời:


14

Mặc dù câu trả lời của @X Tian chứa thông tin về các tệp khác nhau cho crontab, nhưng thông tin cần thiết liên quan đến câu hỏi của bạn là:

crontab -echỉnh sửa tệp crontab của người dùng (được lưu trữ trong /var/spool/cron/crontabs/thư mục trên các hệ thống Debian hiện tại, nhưng YMMV) hoặc tạo một tệp mới, nhưng không /etc/crontab. Tương tự cho crontab -l(liệt kê tệp crontab) và crontab -r(xóa tệp crontab).

Đối với tất cả các công việc định kỳ nên được thực hiện trong tài khoản của người dùng, bạn nên sử dụng crontab -e. Đối với các công việc hệ thống, bạn nên thêm một tệp bên dưới /etc/cron.d, nếu điều đó tồn tại; bên dưới /etc/cron.{hourly|daily|weekly|monthly}(nhưng không được đặt tên như tên gói!), nếu điều đó phù hợp với mục đích của bạn; hoặc thêm một dòng vào /etc/crontab. Nhưng hãy lưu ý rằng /etc/crontabcó thể bị ghi đè bằng bản cập nhật hệ thống.


@Stephane Chazelas Cảm ơn bạn đã làm rõ với chỉnh sửa của bạn. Thư mục /var/spool/cron/là một đặc sản của Linux (xem Tiêu chuẩn phân cấp tệp ) và vị trí có thể khác nhau trên các hệ thống khác với Debian hiện tại.
Dubu

3

Bạn thực sự muốn đọc các trang hướng dẫn man cronman crontab

Đây là một trích xuất bao gồm câu hỏi của bạn. Từman cron

GHI CHÚ cron tìm kiếm khu vực spool của nó (/ var / spool / cron / crontabs) cho các tệp crontab (được đặt tên theo các tài khoản trong / etc / passwd); crontabs tìm thấy được tải vào bộ nhớ. Lưu ý rằng crontab trong thư mục này không nên được truy cập trực tiếp - lệnh crontab nên được sử dụng để truy cập và cập nhật chúng.

   cron also reads /etc/crontab, which is in a slightly  different  format
   (see  crontab(5)).   Additionally, cron reads the files in /etc/cron.d:
   it treats  the  files  in  /etc/cron.d  as  in  the  same  way  as  the
   /etc/crontab  file  (they  follow the special format of that file, i.e.
   they  include  the  user  field).  However,  they  are  independent  of
   /etc/crontab:  they  do  not, for example, inherit environment variable
   settings from it. The intended purpose of  this  feature  is  to  allow
   packages  that  require  finer  control  of  their  scheduling than the
   /etc/cron.{daily,weekly,monthly} directories to add a crontab  file  to
   /etc/cron.d. Such files should be named after the package that supplies
   them. Files must conform to the same naming convention as used by  run-
   parts(8):  they  must  consist solely of upper- and lower-case letters,
   digits, underscores, and hyphens. If the -l option is  specified,  then
   they must conform to the LSB namespace specification, exactly as in the
   --lsbsysinit option in run-parts.

1
Bạn nên chỉ định triển khai cron nào và phiên bản nào trên hệ điều hành nào và phiên bản nào của chúng được trích dẫn từ đó. cronlà một cái gì đó thay đổi rất nhiều từ HĐH sang HĐH và trên một số bạn có thể chọn giữa một số triển khai.
Stéphane Chazelas
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.