Tại sao anacron sẽ không được chạy?


9

Tôi có một hệ thống Ubuntu đã cài đặt anacron. Tuy nhiên tôi khá chắc chắn rằng nó không chạy. Nó không chạy các lệnh trong /etc/cron.d Daily để xoay các tệp syslog (Tôi đang sử dụng sysklog, có phương pháp ghi nhật ký xoay riêng, không sử dụng logrotate). Lần cuối cùng các bản ghi được quay là vào tháng 10 năm 2009. /var/spool/anacron/cron.dailytồn tại và nội dung là 20091015. AFAIR sau đó chúng tôi bị mất điện và mọi thứ được khởi động lại.

Làm thế nào tôi có thể gỡ lỗi anacron? Làm thế nào tôi có thể thấy tại sao nó không chạy? Bản năng đầu tiên của tôi là tìm kiếm /var/log/anacron, nhưng điều đó không có ở đó. Làm thế nào tôi có thể sửa nó để làm cho nó chạy lại?

Câu trả lời:


5

Nhìn vào những điều sau đây:

zgrep anacron /var/log/cron.log.{9..1}* /var/log/cron.log | less

Mục cuối cùng trên một hệ thống đối với tôi là ngày 4 tháng 11 năm 2008.

zgrep anacron /var/log/syslog.{9..1}* /var/log/syslog | less

Các mục trong khoảng từ 28 tháng 12 đến 4 tháng 1 đối với tôi.

cat /etc/crontab

Bạn sẽ thấy các mục tương tự như thế này cho hàng ngày, hàng tuần và hàng tháng:

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Và điều này sẽ hiển thị một loạt các tập tin:

ls -l /etc/cron.{daily,weekly,monthly}

Trong /etc/cron.dailytôi có cả logrotate và sysklogd.

Và nếu bạn làm:

ps auxww | grep [c]ron

bạn sẽ thấy rằng crondaemon đang chạy.

Nếu bạn làm:

cat /etc/cron.daily/sysklogd

bạn sẽ thấy một vài dòng kết thúc || exit 0- kiểm tra để đảm bảo rằng các tệp tồn tại và, đối với test -xnhững tệp có thể thực thi được. Một số trong số họ không cho tôi vì tôi đang sử dụng logrotate.

Kiểm tra xem syslogd có chạy không:

ps -C syslogd

Xem nếu savelog tồn tại và có thể thực thi:

ls -l $(type -p savelog)

Đó là tất cả những gì tôi có thể nghĩ đến vào lúc này.


4
Ngoài ra, hãy nhớ rằng anacron về cơ bản chỉ là cấu hình cho cron, vì vậy nó không phải là daemon
LapTop006

10

Hãy thử chạy:

sudo run-parts --test /etc/cron.daily

Dòng đó sẽ cho biết nếu tập lệnh mới của bạn nằm trong số các tập lệnh "được công nhận". Ví dụ, tập lệnh có tên sai, cờ exec bị thiếu hoặc sự cố cho phép, v.v.

Tôi phát hiện ra theo cách này rằng công cụ phần chạy (được sử dụng bởi cron) không thích hậu tố .sh


2

Tôi có một ubunutu 8.04 vps (w / plesk) đã cài đặt anacron, cấu hình sai và không chạy. apt-get cài đặt lại tạo lại tất cả các tập tin liên quan.

Sau đó, tất cả những gì tôi phải làm là thêm một mục vào crontab hàng giờ để kích hoạt anacron và để nó thực hiện công việc của nó.

kịch bản tôi đặt trong cron.hourly / chỉ là

#!bin/bash
/path/to/anacron -s 

1

Hãy thử khởi động lại dịch vụ, điều đó có gây ra lỗi không?


0

Một số con quỷ Linux không ổn định. Chúng tôi sử dụng cfengine để khởi động lại cron và cron để xem cengine cho các nhiệm vụ quan trọng. Những ngày này, không ai gặp sự cố đáng chú ý mặc dù. Không giống như trong những năm 90 khi cron bị sập hàng ngày :-)


0

Nó tên của kịch bản trong /etc/cron.{daily,weekly,monthly}/thư mục có một dấu chấm trong đó, nó dường như không thực thi. Cố gắng đổi tên nó thành một cái gì đó mà không có dấu chấm trong đó.

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.