Tôi có một CentOS 6.6
máy chủ với các gói sau được cài đặt:
crontabs-1.10-33.el6.noarch
cronie-1.4.4-12.el6.x86_64
cronie-anacron-1.4.4-12.el6.x86_64
kernel-2.6.32-504.3.3.el6.x86_64
Đôi khi, một trong những công việc sao lưu được lên lịch để chạy hàng ngày chỉ đơn giản là không chạy. Kịch bản thậm chí không được gọi theo /var/log/cron.log
. Thật thú vị khi đề cập rằng các công việc khác được lên kế hoạch để chạy chính xác cùng một lúc chạy mà không có bất kỳ vấn đề.
Tôi không thể tái tạo vấn đề và không phát hiện ra bất kỳ mẫu nào trên đó. Nếu tôi không làm gì thì công việc sẽ chạy đúng vào ngày hôm sau như mong đợi.
crond chỉ đơn giản là bỏ qua chỉ một trong nhiều công việc được cho là chạy vào một thời điểm cụ thể. Điều này chỉ xảy ra lẻ tẻ.
Tôi đọc ở một vài nơi khác mọi người nói về việc thêm một dòng trống ở cuối crontab
tập tin. Công việc đôi khi không chạy được thực sự là ở dòng cuối cùng của crontab
tập tin của tôi . Tôi không thể tìm thấy bất kỳ xác nhận đây là một lỗi thực sự hoặc đã biết.
# tail -2 /var/spool/cron/postgres
* * * * * OTHERJOB
0 21 * * * /pg_backup.sh
Đây là tất cả những gì tôi có trong tôi /var/log/cron.log
Mar 31 21:00:02 SERVERNAME [cron.info] CROND[19394]: (root) CMD (OTHERJOB)
Mar 31 21:00:02 SERVERNAME [cron.info] CROND[19418]: (postgres) CMD (/pg_backup.sh)
Mar 31 21:01:02 SERVERNAME [cron.info] CROND[20062]: (root) CMD (OTHERJOB)
Apr 1 21:00:02 SERVERNAME [cron.info] CROND[31349]: (root) CMD (OTHERJOB)
Apr 1 21:01:01 SERVERNAME [cron.info] CROND[32080]: (root) CMD (OTHERJOB)
Xem làm thế nào OTHERJOB
luôn luôn chạy trong khi trên Apr 1
pg_backup.sh
thậm chí không được thực hiện.
Tôi đã thử khởi động lại crond
nhưng điều này vẫn tiếp tục. Điều này đang ảnh hưởng đến nhiều máy chủ có cùng phiên bản HĐH, kernel và cron
RPM.
Có một phiên bản mới hơn của cronie
( 1.4.12
), tuy nhiên việc nâng cấp nó không phải là một tùy chọn vì chúng tôi đã sử dụng phiên bản mới nhất có sẵn choCentos 6.6
Tôi đã trải qua các thay đổi cho tất cả các cronie
phiên bản sau của tôi ( 1.4.4
) và dường như không có bất kỳ sửa chữa nào cho vấn đề cụ thể này. Cũng kiểm tra tất cả các tin nhắn cam kết .
/var/log/audit/audit.log
.
echo >/dev/null
ví dụ)?