Sự khác biệt giữa / etc / crontab và trên crontab -e


42

Sự khác biệt giữa crontab nằm trong /etc/crontabvà crontab có thể được chỉnh sửa bằng cách sử dụng là crontab -egì?

Câu trả lời:


51

Như Ignacio đã nói, /etc/crontablà hệ thống crontab rộng.

Các định dạng /etc/crontablà như thế này:

# m h dom mon dow user      command
*   *  *   *   *  someuser  echo 'foo'

trong khi crontab -etrên mỗi người dùng, điều đáng nói là không có -uđối số, lệnh crontab sẽ chuyển đến người dùng hiện tại crontab. Bạn có thể làm crontab -e -u <username>để chỉnh sửa một crontab người dùng cụ thể.

Thông báo trong một crontab cho mỗi người dùng không có trường 'người dùng'.

# m h  dom mon dow  command
*   *   *   *   *   echo 'foo'

Một khía cạnh của crontab có thể gây nhầm lẫn là root cũng có crontab riêng. ví dụ crontab -e -u rootsẽ không chỉnh sửa /etc/crontab Xem Cấu hình cron .

Trong hầu hết các bản phân phối Linux, mỗi crontabs của người dùng thường được lưu trữ trong: /var/spool/cron/crontabs/<username>(vixie-cron).

Phân phối dựa trên RHEL được lưu trữ trong /var/spool/cron/<username>. (bạn thân)


FYI, đường dẫn ở trên là không chính xác: crontabs cho mỗi người dùng được lưu trữ trong / var / spool / cron / crontabs / <username> (Tôi đã thử hai lần để gửi chỉnh sửa đơn giản này.)
MartyMacGyver

1
... Và giờ nó đã được sửa.
MartyMacGyver

Trên thực tế, nó được lưu trữ /var/spool/cron/rootcho crontab cho mỗi người dùng root trên hệ thống RHEL 6. Không kiểm tra Ubuntu, nhưng nói "thông thường" có vẻ hơi khó khăn.
tự đại diện

@Wildcard Tôi nghĩ "thông thường" là một từ hợp lý để sử dụng. RHEL distros ship w / "cronie" (và anacron tôi tin) là ngã ba của ISC-Cron / vixie cron. Tôi không nghĩ đó là một sự kéo dài, trong mọi trường hợp tôi đã cập nhật câu trả lời của mình để bao gồm chi tiết hơn.
skrewler

Để tìm kiếm nhanh các đường dẫn trên các bản phân phối, hãy tìm kiếm chuỗi path[crontabs]trong thư viện "đường dẫn" CFEngine và kiểm tra ngữ cảnh (các dòng ngữ cảnh trước trông giống như ví dụ redhat::). Có nhiều biến thể hơn bạn nghĩ; ví dụ SUSE đặt chúng vào /var/spool/cron/tabs. (Tóm tắt sự khác biệt của distro là một trong những lý do CFEngine ban đầu được tạo ra, vì vậy nó thường là một tài liệu tham khảo tốt.)
Wildcard

5

Một là crontab hệ thống và chỉ có thể được chỉnh sửa bằng root, và thứ hai là crontab của người dùng và có thể được chỉnh sửa bởi người dùng và tồn tại trên mỗi người dù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.