Cả hai cron
và anacron
là trình nền có thể lên lịch thực hiện các tác vụ định kỳ đến một thời điểm nhất định được xác định bởi người dùng.
Sự khác biệt chính giữa cron
và anacron
trước đây là giả định rằng hệ thống đang chạy liên tục. Nếu hệ thống của bạn tắt và bạn có một công việc được lên lịch trong thời gian này, công việc không bao giờ được thực hiện.
Mặt khác anacron
là 'lỗi thời' và được thiết kế cho các hệ thống không chạy 24x7. Để nó hoạt động, anacron
sử dụng các tệp được đóng dấu thời gian để tìm hiểu khi nào lệnh cuối cùng được thực thi. Nó cũng duy trì một tập tin /etc/anacrontab
giống như cron
làm. Ngoài ra, cron.daily
chạy anacron mỗi ngày. Do đó, anacron
chỉ có thể chạy một công việc một lần một ngày, nhưng cron
có thể chạy thường xuyên như mọi phút.
Từ man anacrontab
:
Khi được thực thi, Anacron đọc danh sách các công việc từ tệp cấu hình, thường là / etc / anacrontab (xem anacrontab (5)). Tập tin này chứa danh sách các công việc mà Anacron kiểm soát. Mỗi mục công việc chỉ định một khoảng thời gian tính bằng ngày, độ trễ tính bằng phút, mã định danh công việc duy nhất và lệnh shell.
Đối với mỗi công việc, Anacron kiểm tra xem công việc này đã được thực hiện trong n ngày qua chưa, trong đó n là khoảng thời gian được chỉ định cho công việc đó. Nếu không, Anacron chạy lệnh shell của công việc, sau khi chờ số phút được chỉ định làm tham số độ trễ.
Sau khi thoát lệnh, Anacron ghi lại ngày tháng trong tệp dấu thời gian đặc biệt cho công việc đó, để nó có thể biết khi nào thực hiện lại. Chỉ ngày được sử dụng để tính toán thời gian. Giờ không được sử dụng.
Điều này có nghĩa là, nếu một tác vụ được lên lịch để chạy hàng ngày và máy tính bị tắt trong thời gian đó, khi anacron được chạy, có thể thấy rằng tác vụ đã được chạy lần cuối hơn 24 giờ trước và thực hiện đúng nhiệm vụ.
Ví dụ: nếu bạn chỉ định như sau trong /etc/anacrontab
:
7 15 test.daily /bin/sh /home/username/script.sh
và vào ngày mà script.sh
công việc được cho là thực thi, nếu hệ thống không chạy, anacron
sẽ thực thi trong script.sh
15 phút sau khi hệ thống hoạt động trở lại.
Một số tài liệu tham khảo: