⏱️
← Quay lại hướng dẫn

Cú Pháp Biểu thức Cron: Hướng Dẫn Đầy Đủ kèm Ví Dụ

· Thẻ: cron-syntax, crontab-format, cron-fields, cron-expression-guide, linux-automation

Cú Pháp Biểu thức Cron

Cron là bộ lập lịch tác vụ tiêu chuẩn trên các hệ thống giống Unix. Mỗi biểu thức cron xác định một lịch trình trong một chuỗi gọn nhẹ chỉ định thời điểm một lệnh nên chạy. Hiểu cú pháp là điều thiết yếu để tự động hóa sao lưu, luân chuyển nhật ký và các tác vụ bảo trì.

Định Dạng 5 Trường

Một biểu thức cron chuẩn có năm trường được phân tách bằng dấu cách:

* * * * *
| | | | |
| | | | +----- Day of the Week (0-7, 0 and 7 = Sunday)
| | | +------- Month (1-12)
| | +--------- Day of the Month (1-31)
| +----------- Hour (0-23)
+------------- Minute (0-59)

Chi Tiết Các Trường

| Trường | Phạm Vi | Ký Tự Đặc Biệt | Ví Dụ | |-------|-------|-------------------|---------| | Phút | 0-59 | , - * / | 30 = lúc phút 30 | | Giờ | 0-23 | , - * / | 6 = lúc 6 giờ sáng | | Ngày trong tháng | 1-31 | , - * / | 15 = vào ngày 15 | | Tháng | 1-12 | , - * / | 6 = vào tháng 6 | | Ngày trong tuần | 0-7 | , - * / | 0 = vào Chủ Nhật |

Trường phút kiểm soát phút chính xác của việc thực thi: 30 * * * * chạy vào phút 30 của mỗi giờ. Trường giờ xác định thời điểm trong ngày: 0 6 * * * chạy lúc 6:00 sáng hằng ngày. Ngày trong tháng giới hạn vào các ngày cụ thể theo lịch: 0 0 15 * * chạy vào ngày 15 của mỗi tháng lúc nửa đêm. Tháng giới hạn việc thực thi vào các tháng cụ thể: 0 0 1 6 * chạy vào ngày 1 tháng 6. Ngày trong tuần kiểm soát các ngày làm việc: 0 8 * * 1-5 chạy lúc 8 giờ sáng từ thứ Hai đến thứ Sáu.

Quan trọng: Các ngày 29-31 chỉ thực thi trong những tháng có các ngày đó. Trong các tháng ngắn hơn, các giá trị đó bị bỏ qua âm thầm.

Các Ký Tự Đặc Biệt

| Ký Tự | Tên | Mục Đích | Ví Dụ | |------|------|---------|---------| | * | Dấu hoa thị | Mọi giá trị có thể | * trong phút = mỗi phút | | , | Dấu phẩy | Danh sách giá trị | 1,15,30 = các phút 1, 15, 30 | | - | Dấu gạch ngang | Khoảng giá trị | 9-17 = các giờ từ 9 đến 17 | | / | Dấu gạch chéo | Giá trị bước | */5 = mỗi 5 phút |

Giá Trị Bước với Dấu Gạch Chéo

Dấu gạch chéo biểu thị "mỗi N đơn vị":

# Every 5 minutes
*/5 * * * *

# Every 2 hours
0 */2 * * *

# Every 15 minutes during business hours
*/15 9-17 * * *

Các Mẫu Lịch Cron Thường Gặp

| Lịch Trình | Biểu Thức | Mô Tả | |----------|------------|-------------| | Mỗi phút | * * * * * | Chạy 1.440 lần mỗi ngày | | Mỗi 5 phút | */5 * * * * | Kiểm tra sức khỏe, giám sát | | Mỗi giờ | 0 * * * * | Đầu mỗi giờ | | Hai lần mỗi ngày | 0 6,18 * * * | 6 giờ sáng và 6 giờ chiều | | Hằng ngày lúc nửa đêm | 0 0 * * * | Bảo trì cổ điển | | Chủ Nhật hằng tuần | 0 0 * * 0 | Bảo trì hằng tuần | | Ngày 1 của tháng | 0 0 1 * * | Báo cáo hằng tháng | | Các ngày trong tuần 9 giờ sáng | 0 9 * * 1-5 | Bắt đầu giờ làm việc |

Các Lối Tắt Không Chuẩn

Một số triển khai cron hỗ trợ các lối tắt có tên: @yearly (ngày 1 tháng 1), @monthly (ngày 1 của tháng), @weekly (Chủ Nhật), @daily (nửa đêm), @hourly, và @reboot (chạy một lần khi hệ thống khởi động). Được hỗ trợ bởi Vixie cron, cronie và các bộ định thời systemd.

Các Lỗi Thường Gặp

  • Thiết lập cả ngày trong tháng và ngày trong tuần tạo thành điều kiện OR — tác vụ chạy khi một trong hai khớp, điều này hiếm khi là ý định ban đầu.
  • Cron sử dụng múi giờ hệ thống. Các tác vụ gần thời điểm chuyển đổi giờ mùa hè có thể chạy hai lần hoặc hoàn toàn không chạy.
  • Luôn đếm năm trường. Bốn trường là không hợp lệ; sáu trường yêu cầu cú pháp cron mở rộng.

Kiểm Tra Các Biểu thức Cron của Bạn

Sử dụng trình xác thực biểu thức cron để kiểm tra cú pháp, xem trước các thời điểm thực thi sắp tới và phát hiện lỗi trước khi chúng ảnh hưởng đến sản xuất. Kiểm tra xác thực ba mươi giây giúp ngăn chặn các lỗi lập lịch âm thầm.

Cú Pháp Biểu thức Cron: Hướng Dẫn Đầy Đủ kèm Ví Dụ - CoolTool