Cuối tuần trước chúng tôi phải đổi thời gian từ 02:00 sang 03:00.
Câu hỏi: Điều gì sẽ xảy ra nếu có một cronjob lúc 02:30?
crond là một giải pháp rất cũ để lên lịch, có lẽ nó nên xử lý nó, nhưng không biết làm thế nào.
Cuối tuần trước chúng tôi phải đổi thời gian từ 02:00 sang 03:00.
Câu hỏi: Điều gì sẽ xảy ra nếu có một cronjob lúc 02:30?
crond là một giải pháp rất cũ để lên lịch, có lẽ nó nên xử lý nó, nhưng không biết làm thế nào.
Câu trả lời:
Nó có thể phụ thuộc vào việc cấy ghép cron của bạn, nhưng trạng thái cron phổ biến của Vixie trong hướng dẫn sử dụng:
Cron sau đó thức dậy mỗi phút, kiểm tra tất cả các crontab được lưu trữ, kiểm tra từng lệnh để xem nó có nên chạy trong phút hiện tại không.
và
Cân nhắc đặc biệt tồn tại khi đồng hồ được thay đổi ít hơn 3 giờ, ví dụ vào đầu và cuối thời gian tiết kiệm ánh sáng ban ngày. Nếu thời gian đã chuyển tiếp, những công việc sẽ chạy trong thời gian bị bỏ qua sẽ được chạy ngay sau khi thay đổi. Ngược lại, nếu thời gian di chuyển ngược xuống dưới 3 giờ, những công việc rơi vào thời gian lặp lại sẽ không được chạy lại.
Chỉ các công việc chạy vào một thời điểm cụ thể (không được chỉ định là @hourly, cũng như với '*' trong công cụ xác định giờ hoặc phút) mới bị ảnh hưởng. Các công việc được chỉ định bằng ký tự đại diện sẽ được chạy dựa trên thời gian mới ngay lập tức.
Vì thay đổi DST chưa đến 3 giờ, chương trình của bạn sẽ chạy ngay sau 3:00 SA
Tôi không chắc đây có phải là hành vi cụ thể của Vixie không, tôi dường như nhớ lại đây là cách PDP-11 của tôi hoạt động tốt trở lại trong thập niên 80 nhưng tôi không chắc chắn.
Giải pháp tốt nhất là để máy tính của bạn chạy với đồng hồ phần cứng được đặt thành UTC, (Giờ phối hợp quốc tế), AKA GMT hoặc Zulu Time và chỉ thay đổi cách hiển thị thời gian bằng cách đặt múi giờ địa phương để cho phép Tiết kiệm ánh sáng ban ngày Thời gian để tiếp nhận.
Trên SUSE Linux và có lẽ hầu hết các hệ thống khác, nếu Hệ thống Đồng hồ Phần cứng -> Môi trường -> Đồng hồ -> HWCLOCK được đặt thành UTC với cờ -u sau đó và múi giờ của bạn được đặt thành nơi bạn là hệ thống sẽ tự động hiển thị giờ địa phương với sửa chữa DST cho bạn.
Điều này có một số lợi thế:
Để biết thêm thông tin loại man hwclock
trong một thiết bị đầu cuối.