Thêm tệp vào /etc/cron.d sẽ không làm cho nó chạy (ubfox 10.04)


20

Nếu tôi quét một tệp cron vào /etc/cron.d thì nó không chạy trừ khi tôi chỉnh sửa tệp và thay đổi lệnh. Sau đó, crond dường như chọn tập tin cron.

Làm cách nào để tạo cron tải lại các tệp cron của nó trong Ubuntu 10.04? 'Chạm vào' tệp không hoạt động cũng không 'khởi động lại cron' hoặc 'tải lại cron'.

Tập tin cron của tôi được thiết lập để chạy mỗi phút và đăng nhập vào một tập tin. Không có gì kết thúc trong tệp nhật ký cho đến khi tôi chỉnh sửa lệnh và không có mục nào cho nó trong / var / log / syslog

Tôi bối rối.

Đây là tệp cron của tôi được lưu vào /etc/cron.d/runscript (lưu ý rằng nó kết thúc bằng một dòng mới)

# Runs the script every minute. This is safe because it will exit with success if it's already running
* * * * * www-data if [ -f /usr/local/bin/thing ]; then exec /usr/bin/php /usr/local/bin/thing mode:prod -a 14 -d >> /var/log/thing/mything.log 2>&1; else echo `date +'[\%D \%T]'` "Thing not deployed. Command not run" >> /var/log/thing/mything.log; fi &

3
Thật tốt khi bạn bao gồm người dùng để điều hành công việc. Tôi đã bỏ nó ra, đó là nguyên nhân của những rắc rối của tôi.
Edward Anderson

1
Nhiều năm sau không có câu trả lời nào được chấp nhận? Bạn đã làm cho nó hoạt động? Tôi cũng bị mắc kẹt và những cạm bẫy phổ biến dường như không phải là vấn đề.
twigmac

Câu trả lời:


27

Tôi vừa gặp phải vấn đề này và trong khi nó không trả lời được trường hợp cụ thể của bạn, nó cũng có thể giúp những người khác giải quyết vấn đề tương tự vì câu hỏi này trả về kết quả rất cao.

Tôi đã lưu một tệp trong /etc/cron.d và nó đã bị bỏ qua. Trong trường hợp của tôi, đó là vì tôi đã cho các tập tin một phần mở rộng.

mytask.cronkhông hoạt động nhưng tôi đổi tên nó thành mytaskvà nó hoạt động tốt.

Mọi tệp có phần mở rộng đều bị bỏ qua, vì vậy hãy đảm bảo tệp bạn lưu không có bất kỳ tiện ích mở rộng nào.


13
Trang hướng dẫn cron (8) trên Debian / Ubuntu tài liệu này khá rõ ràng những ngày này: "Hỗ trợ cho /etc/cron.d được bao gồm trong chính cron daemon [...] Các tệp trong thư mục này [...] phải tuân thủ theo cùng một quy ước đặt tên như được sử dụng bởi các bộ phận (8): chúng chỉ bao gồm các chữ cái in hoa và chữ thường, chữ số, dấu gạch dưới và dấu gạch nối. Điều này có nghĩa là chúng không thể chứa bất kỳ dấu chấm nào. "
Josip Rodin

15

Kiểm tra xem tệp bạn đang sao chép kết thúc bằng a \n. Các mục trong crontabs \ncuối cùng không có vấn đề. Cách dễ nhất để đảm bảo điều này là đặt một dòng trống sau mục nhập cuối cùng của bạn.


1
Tôi vừa mới chỉnh sửa câu hỏi của mình để nói rằng nó kết thúc bằng \ n
tom

1
Cron Debian / Ubuntu cảnh báo về điều này trong syslog, kể từ 3.0pl1-110 được phát hành năm 2010, xem mục nhập thay đổi: "Đăng nhập crontabs thiếu dòng mới trước EOF vào syslog. Điều này chỉ liên quan đến crontab không được cài đặt qua crontab (1), tức là /etc/cron.d/* và / etc / crontab. Đóng: # 76625"
Josip Rodin
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.