Bao gồm tập tin vào cấu hình crontab?


8

Tôi đang cố gắng đặt cấu hình crontab cụ thể của dự án vào kho lưu trữ mã để giúp dễ dàng cập nhật các công việc cron trên tất cả các phụ trợ khi triển khai.

Có thể bao gồm các tập tin vào cấu hình crontab? Cái gì đó như

* * * * * execsomething /blablabla/blah/
* * * * * onemore /blablabla
@include '/home/user/project/crontab.conf'

Câu trả lời:


8

Tùy thuộc vào cron daemon và bản phân phối của bạn, nên có một vài thư mục trong / etc nơi bạn có thể đặt các tệp có công việc cho cron.

Các tập lệnh (không phải là các công việc có định dạng cron) được đặt trong các thư mục sau sẽ được thực thi theo các khoảng thời gian được chỉ định. Lưu ý rằng tần suất được đảm bảo nhưng thời gian chính xác nó có thể không chạy. Đối với hầu hết người dùng, các thư mục này là đủ:

/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly

các công việc được định dạng cron (như ví dụ của bạn ở trên) được đặt trong thư mục sau sẽ được thực hiện bởi cron tại các thời điểm được chỉ định. Lưu ý rằng ngoài các mục thông thường, người dùng của công việc cũng cần phải được chỉ định trước lệnh. Đối với các gói và phân phối phần mềm, phương pháp này là cách tốt nhất để phân phối cronjobs:

/etc/cron.d

Ví dụ về lệnh định dạng cron.d:

1 1 * * * root echo "serverfault is awesome" > /dev/null

Tên người dùng có thể là một biến? Tôi có một loạt các lệnh cần chạy cùng một người dùng, nhưng có thể là một người dùng khác trong các môi trường khác nhau. Tôi có thể làm một cái gì đó như $ USER = joeblow 1 1 * * * $ USER echo "serverfault is awesome"> / dev / null
Jay K

Phụ thuộc vào daemon cron. cronie không cho phép các biến môi trường chẳng hạn.
Boscoe

4

Không xa như tôi biết; đó là những gì /etc/cron.ddành cho.

Như Boscoe đã chỉ ra, cũng có các /etc/cron.{hourly,daily,weekly,monthly}thư mục, nhưng các công việc trong đó chỉ có thể chạy bằng root (trừ khi bạn sử dụng rõ ràng /bin/suđể thay đổi EUID). Các công việc /etc/cron.dcó thêm một trường chỉ định người dùng mà họ chạy và cách câu hỏi của bạn chứa một /home/userđường dẫn khiến tôi nghĩ rằng bạn muốn các công việc này có thể chạy như những người dùng tùy ý.

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.