Hướng dẫn lập lịch chạy tự động PHP với Cronjob trên Cpanel

Hướng dẫn lập lịch chạy tự động PHP với Cronjob trên Cpanel

Với mô hình requets/response của ứng dụng web, các đoạn mã chỉ được thực thi khi có truy vấn của người dùng đến một file script (php, asp) cụ thể nào đó.

 

Với mô hình requets/response của ứng dụng web, các đoạn mã chỉ được thực thi khi có truy vấn của người dùng đến một file script (php, asp) cụ thể nào đó.

Trường hợp bạn cần thiết tự động chạy script như, tự động xóa cache đã được lưu trong ngày, tổng hợp thông tin về đơn hàng trong tuần hay xóa những tài khoản không active trong thời gian dài vv… Cần có một ứng dụng chạy nền (background proccess, daemon) và tự động chạy các script như trên theo lịch đã định sẵn. Với server linux, bạn sẽ sử dụng crontab đễ làm điều đó, Crontab là một tiện ích cho phép bạn lên lịch để thực thi lệnh theo thời gian định sẵn. Áp dụng vào server script, ta có thể lên lịch để chạy ứng dụng PHP của mình trên một mốc thời gian xác định.

Bạn có thể tìm hiểu thêm về crontab trên internet, dưới đây tôi xin hướng dẫn sơ bộ cách sử dụng crontab thông qua thành phần mở rộng cronjob trong Cpanel. Đơn giản bạn chỉ cần click chọn chứ không cần thiết phải sử dụng lệnh. Trường hợp không tìm thấy thành phần cronjob trong Cpanel, bạn có thể liên hệ với nhà cung cấp host để yêu cầu họ cài đặt cho mình.

B1: Đăng nhập vào Cpanel, ở mục Advance, chọn Cronjob

Để chạy thực thi 1 URL thì dùng lệnh sau ở phần COMMAND: wget [url thực thi]

VD: wget domain.com/cronjob.php

 

 

B2: Ví dụ tôi có tài khoản đăng nhập là thienvuong  muốn thực hiện lệnh insert dữ liệu vào 1 bảng có sẵn 1 phút một lần. file php thực thi nhiệm vụ đó có tên là x_cron.php và nằm trong thư mục cron. Dưới đây là cách nhập giá trị cho yêu cầu đó:

*/1 : Nghĩa là cứ 1 phút sẽ chạy file 1 lần
php /home/thienvuong/domains/3i.com.vn/public_html/x_cron.php

ở trên là đường dẫn trỏ đến file thực thi cronjob

 

Hình minh họa

 

Ví Dụ 2

Ảnh 1 thêm cronjob

Ảnh 2 Config Cronjob

 

 

Crontab cơ bản là gì ?
Cron là một dịch vụ giúp đặt lịch thực hiện tiến trình tự động theo một khung thời gian
được thiết lập cụ thể trên Linux, ví dụ như 1 lần 1 ngày, mỗi giờ hoặc nhiều hơn thế
nữa. Crontab (CRON TABle) là một file chứa đựng bảng biểu (schedule) của các entries
được chạy. Đến với bài viết này, chúng ta sẽ tìm hiểu nội dung làm sao thiết lập crontab
chạy 15 phút mỗi lần. Bài viết này không viết đầy đủ về nội dung ‘cronjob/crontab‘ mà là 1
nhánh con nhỏ của ‘cronjob‘.

Nếu bạn đã tìm hiểu ‘crontab’ thì sẽ biết khung thời gian được sử dụng trong ‘crontab’ là :
phút – giờ – ngày trong tháng – tháng – thứ trong tuần .

Với ví dụ ở dưới chúng ta sẽ tìm hiểu được làm thế nào mà chúng ta có thể đặt lịch thực
thi chương trình trên crontab 15 phút mỗi lần. Trong ví dụ thì đường dẫn để chạy chương
trình sẽ có dạng ‘/path/to/command‘, bạn chỉ cần thay thế nó bằng đường dẫn chương
By Quách Chí Cường – 13/04/2017
16/8/2018 Hướng dẫn cấu hình crontab chạy 15 phút mỗi lần trên Linux – Technology Diver
https://cuongquach.com/cau-hinh-crontab-chay-15-phut-moi-lan.html 2/3
trình thực của bạn. Thông thường chúng ta sẽ có 2 cách, cùng đến với 2 trường hợp đó
như sau:

Cách 1: thiết lập thời gian cụ thể để crontab chạy 15 phút
– Chúng ta chỉ định rõ thời gian cụ thể sẽ thực thi lệnh. Như ví dụ dưới thì vào phút thứ :
0 , 15 , 30 , 45 .. chương trình sẽ tự thực thi lệnh. Thì với việc khung ‘giờ’ là ‘*‘ thì mỗi giờ
vào các khoảng thời gian trên lệnh sẽ tiến hành chạy.
Cách 2: thiết lập thời gian phân chia

– Nếu bạn nhìn nhận rằng cách ở trên hơi củ chuối, và muốn tìm cách nào đó giản đơn
hơn thì hãy đến với lựa chọn thứ 2. Bạn chỉ cần thêm dấu ‘/‘ và con số phút bạn muốn
cách khoảng thời gian chạy. ‘/15‘ = 15 phút mỗi lần . ‘/30‘ = nửa tiếng 1 lần.
Với 2 ví dụ trên bạn đã có thể tự thiết lập cấu hình crontab chạy 15 phút rồi. Còn nếu bạn
muốn liệt kê nội dung cấu hình crontab của user thì nên đọc bài viết này
: https://cuongquach.com/2016/09/cai-dat-chuong-trinh-crontab-tren-linux/