Cron Jobs Là Gì | 4 Điều Cần Biết Về Cron Jobs

26 Tháng Một, 2024

Nếu bạn là chủ sở hữu của một website, chắc hẳn bạn sẽ cần phải thực hiện các tác vụ định kỳ như backup dữ liệu, cập nhật thông tin hay kiểm tra các link hỏng. Tuy nhiên, việc thực hiện các tác vụ này một cách thủ công sẽ tốn rất nhiều thời gian và công sức của bạn. Đó là lý do tại sao Cron Jobs được tạo ra để giúp bạn tự động hóa các tác vụ trên website một cách đơn giản và hiệu quả.

Vậy Cron Jobs là gì? Đây là một công cụ được sử dụng để lên lịch và thực hiện các tác vụ định kỳ trên máy chủ của bạn. Với Cron Jobs, bạn có thể lên lịch để thực hiện các tác vụ như backup dữ liệu, cập nhật thông tin, kiểm tra các link hỏng và nhiều hơn nữa vào các thời điểm cụ thể hoặc theo chu kỳ định kỳ.

Bài viết dưới đây sẽ hướng dẫn bạn cách sử dụng Cron Jobs để tự động hóa các tác vụ trên website của bạn một cách đơn giản và tiết kiệm thời gian. Hãy cùng khám phá nhé!

Cron Jobs là gì?

Cron Jobs là gì?
Cron Jobs là gì?

Cron Jobs là một tính năng quan trọng để tự động hóa các tác vụ cơ bản trên máy chủ. Nó cho phép quản trị viên hosting lên lịch tự động thực hiện một số công việc định kỳ trên hệ thống.

Các công việc này có thể bao gồm việc sao lưu dữ liệu hệ thống định kỳ để đảm bảo an toàn dữ liệu, tự động gửi email định kỳ cho khách hàng để cung cấp thông tin mới nhất, hoặc thực hiện các lệnh Linux như cập nhật dữ liệu, quét chỉ mục hoặc cache dữ liệu hệ thống.

Với tính năng này, quản trị viên hosting có thể giảm thiểu sự can thiệp thủ công vào hệ thống, tăng tính ổn định và đáng tin cậy của máy chủ và giúp giảm thiểu thời gian và công sức của họ.

Nguyên lí hoạt động của Cron Jobs

Nguyên lí hoạt động của Cron Jobs
Nguyên lí hoạt động của Cron Jobs

Cron Jobs thường bao gồm ba thành phần chính:

  • Script (kịch bản lệnh) được sử dụng hoặc thực thi: Đây là đoạn mã hoặc kịch bản lệnh cần được thực hiện định kỳ trên hệ thống.
  • Command (Câu lệnh) thực hiện script đó theo lịch trình định sẵn: Các câu lệnh sử dụng để lên lịch thực hiện kịch bản lệnh này thường được thiết lập trong giao diện quản lý hosting, chẳng hạn như cPanel.
  • Các hoạt động hoặc đầu ra/output của script: Thành phần cuối cùng là các hoạt động hoặc đầu ra/output của kịch bản lệnh được thực thi. Thường thì các script được lên lịch thông qua cron job sẽ thực hiện các hoạt động như chỉnh sửa các tệp hoặc cơ sở dữ liệu.

Lệnh và những điều cần biết về Cron Jobs

Lệnh và những điều cần biết về Cron Jobs
Lệnh và những điều cần biết về Cron Jobs

1. Cấu trúc cơ bản

Một lệnh cron job thường bao gồm hai thành phần chính: schedule (lịch trình) và command (câu lệnh). Để viết một lệnh cron job, ta sử dụng định dạng sau:

* * * * * /bin/sh clear.sh

Trong đó :

  • * * * * * : là thời gian, chúng ta sẽ tìm hiểu ý nghĩa của nó ở phần dưới
  • /bin/sh clear.sh : là chạy file sh clear.sh

2. Cú pháp

Cú pháp của nó sẽ biểu thị như sau :

* * * * * Command
phút 1 – 59 giờ 0 – 23 ngày 1 – 31 tháng 1 – 12 thứ 0 – 7 Command /script/clean.sh

Đây là nhiều ví dụ về cú pháp hơn:

Diễn đạt Ý nghĩa
0 0 * * * /bin/sh backup.sh Để chạy cơ sở dữ liệu backup vào giữa đêm, và chạy sau 1 ngày.
0 6,18 * * * /bin/sh backup.sh Để chạy backup cơ sở dữ liệu 2 lần 1 ngày lúc 6AM và 6PM.
0 */6 * * * /scripts/monitor.sh Để thực thi giám sát mỗi 6 giờ.
*/10 * * * * /home/user/script.sh Để chạy cron job cho file script đặt trong thư mục chính mỗi 10 phút.
0 * 20 7 * /bin/sh backup.sh Để chạy cơ sở dữ liệu backup mỗi giờ mỗi ngày 20/07.
0 0 * * 2 * /bin/sh Để chạy cơ sở dữ liệu backup giữa đêm mỗi thứ ba.
* * * 1,2,5 *  /script/script.sh Để chạy lệnh vào tháng một, tháng hai và tháng năm.
10-59/5 5 * * * /home/user/script.sh Để chạy lệnh mỗi 5 phút lúc 5AM, bắt đầu lúc 5:10 AM.
0 8 1 */3 * /home/user/script.sh Để chạy lệnh hàng quý vào ngày 1 lúc 8AM.
* * * * * /scripts/script.sh; /scripts/scrit2.sh Để đặt lịch nhiều jobs trên cron job độc lập.
@reboot /scripts/script.sh Để chạy tác vụ nhất định mỗi khi bạn khởi động hệ thống.
0 0 1 * *  /home/user/script.sh Để chạy lệnh vào ngày đầu tiên của mỗi tháng.

3. Các giá trị về thời gian trong Cron Jobs

Các giá trị thời gian trong lệnh cron job bao gồm:
  • Phút (Minute): giới hạn từ 0 đến 59.
  • Giờ (Hour): giới hạn từ 0 đến 23.
  • Ngày trong tháng (Day of Month): giới hạn từ 1 đến 31.
  • Tháng (Month): giới hạn từ 1 đến 12.
  • Ngày trong tuần (Day of the Week): giới hạn từ 0 đến 7, trong đó 0 và 7 đại diện cho Chủ nhật, 1 đến 6 đại diện cho Thứ hai đến Thứ bảy.

4. Lưu ý với câu lệnh Cron Jobs

Để sử dụng Cron Jobs một cách hiệu quả và tránh các lỗi không đáng có, có một số lưu ý sau đây:
  • Sử dụng dấu hoa thị (*) để chỉ định tất cả các giá trị cho một tham số nào đó.
  • Sử dụng dấu phẩy (,) để liệt kê nhiều giá trị của cùng một tham số trong một lệnh cron job.
  • Sử dụng dấu gạch nối (-) để xác định khoảng thời gian thực thi lệnh.
  • Sử dụng dấu gạch chéo (/) để chỉ định các khoảng thời gian nghỉ giữa các lần thực thi lệnh.
  • Sử dụng chữ cái viết tắt “L” để chỉ định ngày cuối cùng của tuần trong tháng.
  • Sử dụng chữ cái viết tắt “W” để chỉ định ngày gần nhất trong tuần gần nhất cho một tham số nào đó.
  • Sử dụng ký tự “#”, còn được gọi là dấu thăng, để chỉ định thứ tự của ngày trong tháng (ví dụ: 2#3 cho biết thứ ba trong tháng).
  • Sử dụng dấu chấm hỏi (?) để đặt giá trị của một tham số là trống.

Hướng dẫn xây dựng Cron Jobs trên hosting

Hướng dẫn xây dựng Cron Jobs trên hosting
Hướng dẫn xây dựng Cron Jobs trên hosting

Cron là một hệ thống chạy ngầm trên hệ điều hành Linux, do đó không cần cài đặt thêm phần mềm. Tuy nhiên, việc sử dụng Cron jobs phụ thuộc vào quyền hạn của người quản trị hệ thống.

Hiện nay, hầu hết các nhà cung cấp dịch vụ lưu trữ web đều hỗ trợ Cron jobs, kể cả cho các gói dịch vụ hosting chia sẻ. Nếu sử dụng chức năng này một cách hiệu quả, bạn có thể tăng tính ổn định và bổ sung nhiều tính năng hữu ích cho website của mình.

Để cài đặt các lệnh Cron jobs, bạn có thể truy cập vào mục “Cron Jobs” trong trang quản lý tài khoản hosting của mình.

1. Sơ lược thao tác làm việc với Cron Jobs

Các công việc được chỉ định trong Cron Jobs được lưu trữ trong một tệp lớn hơn được gọi là tab Cron. Trên một số máy chủ, có thể có nhiều tab Cron cho nhiều loại ứng dụng và đầu vào tự động.

Bạn có thể sử dụng các lệnh sau để chỉnh sửa, xóa hoặc xem nội dung của tệp tab Cron:

  • crontab -r: lệnh này loại bỏ (do đó “r”) hoặc xóa toàn bộ tệp tab Cron.
  • crontab -e: lệnh này cho phép bạn chỉnh sửa các chức năng được mô tả trong tab Cron thay vì xóa toàn bộ tệp.
  • crontab -l: lệnh này cho phép bạn xem toàn bộ nội dung của tệp tab Cron, nhưng không cho phép xoá hay chỉnh sửa nội dung tệp.

2. Tạo Cron Jobs

Mục này bao gồm các cài đặt cho công việc tự động như sau:

  • Common setting: Chọn tần suất cho công việc, với các tùy chọn từ mỗi phút cho đến mỗi năm.
  • Minute, Hour, Day, Month, Weekday: Chọn tần suất cho công việc theo phút, giờ, ngày, tháng, ngày trong tuần.
  • Comment: Câu lệnh Linux sẽ được thực hiện khi đến giờ hẹn.

Lưu ý: Cú pháp đặt thông số thời gian: Đây là phần đầu tiên trong chuỗi lệnh Cron jobs, xác định tần suất và thời điểm chạy công việc tự động.

3. Ứng dụng Cron Jobs trong tự động backup

Bạn có thể sử dụng Cron Jobs để tự động sao lưu cơ sở dữ liệu hàng ngày. Dưới đây là ví dụ cấu hình:

Câu lệnh: mysqldump -u username –password=password dbname > backup.sql

Giải thích:

  • “username”, “password” và “dbname” là thông tin tài khoản và cơ sở dữ liệu của bạn.
  • “backup.sql” là tên file sao lưu của bạn.

Ưu điểm và nhược điểm của Cron Jobs

Ưu điểm và nhược điểm của Cron Jobs
Ưu điểm và nhược điểm của Cron Jobs

Ưu điểm của Cron Jobs

Cron job là công cụ hữu ích giúp tiết kiệm thời gian và chi phí. Thay vì phải dành thời gian lên lịch các nhiệm vụ bằng cách thủ công, bạn có thể thiết lập các Cron job để chạy tự động vào các thời điểm hoặc khoảng thời gian nhất định. Điều này giúp bạn tránh bỏ lỡ các nhiệm vụ quan trọng như gửi email tiếp thị hoặc cập nhật hình ảnh trên trang web.

Ngoài ra, Cron job còn giúp bạn tiết kiệm chi phí bằng cách giảm thiểu thời gian dành cho các công việc nhàm chán như cập nhật social media, sao lưu hoặc theo dõi các thay đổi trên trang web.

Với Cron job scheduler, tất cả các công việc này sẽ được thực hiện tự động khi đã được lên lịch. Điều này cho phép bạn dành thời gian của mình để tập trung vào các nhiệm vụ có ý nghĩa hơn.

Nhược điểm của Cron Jobs

Mặc dù Cron job có nhiều ưu điểm, nhưng nó cũng có một số hạn chế cần được lưu ý và có kế hoạch xử lý phù hợp.

  • Cron job chỉ hoạt động theo chu kỳ 60 giây trở lên, không thể thực hiện các task tần suất cao hơn.
  • Cron job không thể phân phối cho nhiều máy tính trong mạng, nếu máy chạy cron bị treo sẽ ảnh hưởng đến các task đã được lên lịch.
  • Cron job không có cơ chế re-enter.
  • Nếu bất kỳ lệnh Cron nào không chạy được, nó sẽ chạy vào thời gian đã lên lịch tiếp theo, không thể thực hiện các task mà cần phải chạy theo từng bước nhỏ.

Những câu hỏi thường gặp về Cron Jobs

Những câu hỏi thường gặp về Cron Jobs
Những câu hỏi thường gặp về Cron Jobs

Vì sao cron-job.org lại không hoạt động hoặc ngưng hoạt động trên website của bạn?

Có rất nhiều nguyên nhân có thể dẫn đến việc cron-job.org không hoạt động hoặc ngưng hoạt động trên website của bạn, ví dụ như:

  • Lỗi kết nối mạng hoặc lỗi DNS: Khi cron-job.org không thể kết nối với website của bạn hoặc ngược lại, nó sẽ không thể thực hiện tác vụ được lên lịch.
  • Lỗi trong quá trình cấu hình cron-job.org: Nếu bạn không cấu hình đúng các thông số cần thiết trên cron-job.org hoặc trên website của bạn, nó có thể dẫn đến việc không thể thực hiện được các tác vụ được lên lịch.
  • Các vấn đề bảo mật: Nếu cron-job.org bị tấn công bởi hacker hoặc phần mềm độc hại, nó có thể ngưng hoạt động hoặc không thể hoạt động đúng như mong đợi.
  • Thay đổi cấu trúc của website: Nếu bạn đã thay đổi cấu trúc của website của bạn, như thêm hoặc xoá các trang, cron-job.org sẽ không thể tìm thấy các tác vụ đã được lên lịch.
  • Vì vậy, để đảm bảo Cron job hoạt động tốt trên website của bạn, bạn nên kiểm tra các cấu hình và thông số của nó, và thường xuyên theo dõi trạng thái của nó để phát hiện và khắc phục các vấn đề kịp thời.

Là một quản trị website, tôi có thể sử dụng Cron jobs vào việc gì?

Cron Jobs là một công cụ hữu ích cho các quản trị viên hệ thống để thực hiện các tác vụ định kỳ như backup hệ thống, giám sát dung lượng ổ đĩa và bảo trì định kỳ, mà không cần tốn quá nhiều thời gian và công sức.

Với các trang web, Cron Jobs có thể được sử dụng để kiểm tra các liên kết hỏng, xoá bỏ các tài khoản hết hạn hoặc quá lâu không sử dụng (tùy chọn), và gửi thông báo cho người dùng đã đăng ký.

Kết luận

Như bạn đã biết, trong quá trình vận hành website, việc thực hiện các tác vụ định kỳ là vô cùng quan trọng để đảm bảo hoạt động của hệ thống được ổn định và hiệu quả. Đó chính là nhiệm vụ của cron jobs. Nhờ đó, việc quản lý và điều hành website trở nên dễ dàng hơn, tiết kiệm thời gian và tăng tính ổn định cho hệ thống.

Với những thông tin trên, Website Chuyên Nghiệp hi vọng rằng bạn đã hiểu rõ hơn về cron jobs và cách chúng hoạt động trên hệ thống của mình. Chân thành cảm ơn bạn đã đọc bài viết này!