Ví dụ về vấn đề:
* 9 * * * echo 9
* 10 * * * echo 10
Ở trên sẽ tắt email cho người dùng mỗi phút, nhưng tất cả các phản hồi "9" sẽ xảy ra vào lúc 10:00 AM -> 10:59 AM, trong khi "10" sẽ đến vào lúc 11:00 AM -> 11:59 AM .
Điều hành một công việc của
* * * * * /bin/date ; /bin/date -u
Trả lại ngày và thời gian dự kiến (chính xác). điều này đúng cho cả UTC và giờ địa phương (Mỹ / Denver). Thay đổi công việc này để chạy mỗi phút vào một giờ cụ thể dẫn đến kết quả bù (các công việc được yêu cầu chạy ở mức 9 chạy lúc 10, v.v.).
Gỡ lỗi hiện tại tôi đã hoàn thành:
Được rồi, đó là kỳ lạ. Có lẽ tập tin múi giờ của tôi bằng cách nào đó bị rối tung? Hãy kiểm tra xem
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical
Tôi đã kiểm tra đồng hồ phần cứng để xem nếu nó tắt hoặc bằng cách nào đó không đồng ý với cài đặt cục bộ của tôi (chạy dưới quyền root).
date ; hwclock
Wed Oct 26 10:50:13 MDT 2016
Wed 26 Oct 2016 10:50:14 AM MDT -0.204171 seconds
Có vẻ bị tắt một giây, nhưng điều đó không làm cho công việc định kỳ của tôi chạy hết giờ, phải không?
Tôi cũng chắc chắn về những điều sau đây:
- Múi giờ của tôi đã thay đổi gần đây? Không
- Bạn đã thử tự sửa lỗi múi giờ chưa? Đúng
- Bạn đã thiết lập lại cron sau khi sửa múi giờ? Đúng
- Tôi có chắc chắn rằng dịch vụ cron đã được khởi động lại không? Đúng
- Tôi đã khởi động lại dịch vụ cron chưa? Đúng
- Bạn có thực sự chắc chắn rằng cron đã được khởi động lại? Chắc chắn 100% Cron đã được khởi động lại
Thông tin có khả năng khác có liên quan:
Chạy Debian.
cat /etc/debian_version
8.6
Hạt nhân hiện tại
uname -a
Linux BigBox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
Cập nhật gỡ lỗi:
Ran 'hwclock --systohc', những thay đổi đáng chú ý đối với hành vi. Chạy lệnh này để kiểm tra
date;hwclock
Wed Oct 26 12:39:09 MDT 2016
Wed 26 Oct 2016 12:39:11 PM MDT -0.875328 seconds
Tôi không thể chạy 'cat / etc / sysconfig / clock' vì tệp này không tồn tại. Chạy lệnh find trong / etc / cây để tìm 'clock' xác nhận rằng tôi không có tệp nào có tên đó.
Đã kiểm tra xem có bất cứ điều gì tôi biết đã đặt biến CRON_TZ không. Nó không được đặt ở cấp độ người dùng, cũng không phải ở cấp độ gốc. Có cron echo chúng ra không cho đầu ra.
hwclock --systohc
chỉ cho đầy đủ, và thêm cat /etc/sysconfig/clock
vào câu hỏi?
CRON_TZ
var env được đặt ở bất cứ đâu?