Nền tảng CRM và Dữ liệuCông cụ tiếp thị

Hiểu và sử dụng Cron: Hướng dẫn toàn diện để lên lịch công việc

cron, viết tắt của lệnh chạy trực tuyến, là một công cụ lập lịch công việc dựa trên thời gian mạnh mẽ trong các hệ điều hành giống Unix. Thuật ngữ cron là một cách chơi chữ Kronos or chronos, trong thần thoại Hy Lạp đại diện cho thời gian. Tên cron của bộ lập lịch công việc dựa trên thời gian phản ánh chức năng lập lịch và thực hiện các nhiệm vụ của nó vào những thời điểm hoặc khoảng thời gian cụ thể, khiến nó trở thành một tham chiếu phù hợp với khái niệm thời gian trong thần thoại.

Cron cho phép bạn tự động hóa các tác vụ lặp đi lặp lại, thực thi các tập lệnh theo các khoảng thời gian cụ thể và duy trì hiệu quả của hệ thống. Hướng dẫn toàn diện này sẽ hướng dẫn bạn mọi thứ bạn cần biết về cron, từ cài đặt đến cách sử dụng, từ vựng chính và mẫu mã thực.

Mục lục

  1. cron là gì?
  2. Cài đặt Cron
  3. Các khái niệm và thuật ngữ cơ bản
  4. Cú pháp Cron
  5. Ví dụ và trường hợp sử dụng
  6. Những cạm bẫy phổ biến và cách thực hành tốt nhất
  7. Tài nguyên cron bổ sung

Cron là gì?

Cron là một daemon (tiến trình nền) chạy trên các hệ thống dựa trên Unix, bao gồm Linux và macOS. Mục đích chính của nó là thực hiện các nhiệm vụ theo lịch trình một cách tự động. Các tác vụ này có thể bao gồm từ các tập lệnh đơn giản đến bảo trì và sao lưu hệ thống.

Cài đặt Cron

Trong hầu hết các hệ thống giống Unix, cron được cài đặt sẵn. Bạn có thể kiểm tra tính khả dụng của nó bằng cách mở một thiết bị đầu cuối và gõ:

crontab -e

Nếu lệnh này mở trình soạn thảo bảng cron thì bạn đã cài đặt cron. Nếu không, bạn có thể cài đặt nó bằng trình quản lý gói của hệ thống. Ví dụ: trên Ubuntu, bạn có thể sử dụng:

sudo apt-get install cron

Khái niệm và thuật ngữ Cron

Trước khi đi sâu vào cách sử dụng cron, hãy tìm hiểu một số khái niệm và thuật ngữ cơ bản:

Giải thích sơ đồ Cron
  • crontab: Viết tắt của bảng cron, đó là một tệp chứa danh sách các tác vụ đã lên lịch cho người dùng.
  • Công việc lương thấp: Một tác vụ hoặc lệnh duy nhất được lên lịch để chạy vào một thời điểm cụ thể.
  • Lĩnh vực: Mỗi cronjob có năm trường xác định thời điểm công việc chạy:
    • Phút (0-59)
    • Giờ (0-23)
    • Ngày trong tháng (1-31)
    • Tháng (1-12)
    • Ngày trong tuần (0-7, trong đó cả 0 và 7 tượng trưng cho Chủ nhật)

Cú pháp Cron

Hiểu cú pháp của mục nhập crontab là rất quan trọng. Nó theo mô hình:

* * * * * command-to-be-executed

Đây là lời giải thích được nhận xét mà bạn có thể chèn vào công việc định kỳ của mình:

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Mỗi dấu hoa thị (*) đại diện cho một trường trong biểu thức cron. Ví dụ: để lên lịch công việc hàng ngày vào lúc 3:30 chiều, bạn sẽ sử dụng:

30 15 * * * command-to-be-executed

Ví dụ về Cron và trường hợp sử dụng

Hãy cùng khám phá một số ví dụ thực tế để minh họa việc sử dụng cron:

  • Chạy tập lệnh hàng ngày: Để thực thi tập lệnh hàng ngày vào lúc nửa đêm, bạn có thể sử dụng:
0 0 * * * /path/to/script.sh
  • Chạy tập lệnh mỗi giờ: Đối với nhiệm vụ hàng giờ, hãy sử dụng:
0 * * * * /path/to/script.sh
  • Sao lưu hàng tuần: Để lên lịch sao lưu hàng tuần vào lúc 2 giờ sáng Chủ nhật, hãy sử dụng:
0 2 * * 0 /path/to/backup-script.sh
  • Chạy một nhiệm vụ vào các tháng cụ thể: Chỉ chạy một công việc vào tháng 8 và tháng 30 lúc XNUMX:XNUMX sáng:
30 8 * 1,7 * /path/to/script.sh

Những cạm bẫy của Cron và các phương pháp hay nhất

  • Biến môi trường: Đảm bảo rằng các lệnh cron của bạn thiết lập các biến môi trường cần thiết, vì các lệnh cron không kế thừa các biến môi trường của shell của bạn.
  • Quyền: Hãy chắc chắn rằng bạn đặt quyền cho tệp tập lệnh của mình dưới dạng có thể thực thi được. Mỗi lần tôi lưu lại tập lệnh của mình, tôi lại thấy các quyền của mình cần được đặt lại!
  • Biến đường dẫn: Chỉ định đường dẫn đầy đủ đến các tệp thực thi và tập lệnh trong công việc định kỳ của bạn để tránh các sự cố với đường dẫn tương đối.
  • Kiểm tra: Kiểm tra chúng trong môi trường an toàn trước khi thiết lập các công việc định kỳ quan trọng để đảm bảo chúng hoạt động như mong đợi.
  • Logging: Chuyển hướng đầu ra của các công việc định kỳ của bạn sang một tệp nhật ký để theo dõi việc thực hiện chúng và bất kỳ lỗi tiềm ẩn nào.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

Công việc định kỳ này chạy một tập lệnh /path/to/script.sh mỗi ngày vào lúc nửa đêm và đầu ra (cả thiết bị xuất chuẩn và thiết bị xuất chuẩn) do tập lệnh tạo ra sẽ được thêm vào tệp nhật ký

/path/to/cron.log. Đây là phương pháp phổ biến để nắm bắt và ghi nhật ký đầu ra của các công việc định kỳ nhằm mục đích giám sát và khắc phục sự cố. Hãy chia nhỏ cú pháp cron job cụ thể này:

  • *0 0 * * *: Phần này xác định lịch trình khi nào cron job sẽ chạy. Trong trường hợp này, nó được lên lịch chạy vào lúc nửa đêm hàng ngày (0 phút qua 0 giờ).
  • /path/to/script.sh: Đây là lệnh hoặc script để thực thi khi cron job chạy. Ví dụ này hiển thị một tập lệnh nằm ở /path/to/script.sh.
  • >> /path/to/cron.log: Phần này chuyển hướng đầu ra tiêu chuẩn (stdout) của cron job sang tệp nhật ký có tên cron.log Đặt vị trí tại /path/to/. Các >> toán tử sẽ thêm đầu ra vào tệp nhật ký, vì vậy nếu tệp không tồn tại, nó sẽ được tạo và nếu nó đã tồn tại, đầu ra sẽ được thêm vào cuối tệp.
  • 2> & 1: Điều này được sử dụng để chuyển hướng cả đầu ra tiêu chuẩn (thiết bị xuất chuẩn) và lỗi tiêu chuẩn (stderr) sang cùng một tệp nhật ký. Các 2 đại diện cho stderr và 1 đại diện cho thiết bị xuất chuẩn. Vì thế, 2>&1 có nghĩa là cả stdout và stderr đều được chuyển hướng đến cùng một tệp nhật ký được chỉ định trước đó.

Cron là một công cụ có giá trị để tự động hóa các tác vụ trên hệ thống dựa trên Unix. Với các tùy chọn lập lịch linh hoạt, nó có thể đơn giản hóa việc quản trị hệ thống và nâng cao hiệu quả. Bằng cách hiểu cú pháp của nó và làm theo các phương pháp hay nhất, bạn có thể khai thác sức mạnh của cron để tự động hóa các tác vụ thường ngày của mình một cách hiệu quả.

Tài nguyên Cron bổ sung

Douglas Karr

Douglas Karr là CMO của mởINSIGHTS và người sáng lập ra Martech Zone. Douglas đã giúp hàng chục công ty khởi nghiệp MarTech thành công, đã hỗ trợ thẩm định hơn 5 tỷ USD trong các thương vụ mua lại và đầu tư của Martech, đồng thời tiếp tục hỗ trợ các công ty triển khai và tự động hóa các chiến lược tiếp thị và bán hàng của họ. Douglas là một chuyên gia và diễn giả về chuyển đổi kỹ thuật số và MarTech được quốc tế công nhận. Douglas cũng là tác giả đã xuất bản sách hướng dẫn của Dummie và sách lãnh đạo doanh nghiệp.

Bài viết liên quan

Back to top
Đóng

Đã phát hiện ra khối quảng cáo

Martech Zone có thể cung cấp cho bạn nội dung này miễn phí vì chúng tôi kiếm tiền từ trang web của mình thông qua doanh thu quảng cáo, liên kết đơn vị liên kết và tài trợ. Chúng tôi sẽ đánh giá cao nếu bạn xóa trình chặn quảng cáo của mình khi bạn xem trang web của chúng tôi.