Sử dụng Cron Jobs trên Cpanel

Cron Jobs: Là chức năng dùng để thực thi định kì lệnh nào đó trong một khoảng thời gian được xác định trước bởi người quản trị. Những chức năng cơ bản như: Tự động Backup dữ liệu, Tự động gửi Email, tự động thực hiện các lệnh PHP, Perl, or Python Scripts… hoặc một lệnh nào đó trong Linux do bạn tạo ra. Bài viết này sẽ hướng dẫn bạn sử dụng tính năng lập lịch cronjob tại cPanel

Làm thế nào truy cập vào Cron Job trong cPanel

Bước 1: Đăng nhập vào cPanel

Bước 2:

Trong giao diện Cpanel bạn bạn kéo xuống mục Advanced và chọn Cron Jobs.

cron jobs cpanel

Sau khi chọn cron jobs bạn sẽ vào trang có giao diện như ảnh sau.

cron jobs page cpanel

Cài đặt Email thông báo khi cron job hoạt động.

email cron job cpanel

Trong phần Cron Email quý bạn Email của mình vào để nhận thông tin kết quả Cron Jobs đã thực hiện, nếu bạn không muốn nhận thông báo bạn có thể đặt lệnh như sau:

mycommand >/dev/null 2>&1 

“mycommand” bạn thay bằng lệnh của bạn

Tạo Cron job mới

Ở mục Add a New Cron Job cho chúng ta thiết lập chu kỳ thời gian chạy Cron Jobs

Các mục Minute, Hour, Day, Month, Weekday tương ứng với phút, giờ, ngày, tháng, ngày trong tuần cho quý khách lựa chọn thiết lập chu kỳ lập lại

Ví dụ 1: Sử dụng Cron Jobs chạy 1 file script có sẵn

Nếu như bạn có 1 file script tên là demo.php và đặt trong thư mục /public_html/ và muốn chạy file này cứ mỗi 5 phút 1 lần thì làm như sau

Đầu tiên ta chọn thời gian lập lại là 5 phút 1 lần

Và Command ở đây sẽ là:

php /home/user/public_html/demo.php

tao cron job cpanel

Và sau đó nhấp vào Add New Cron Job để khởi tạo Cron Jobs, nhớ chọn đủ các mục Minute, Hour, Day, Month, Weekday nếu không sẽ báo lỗi

Đây là kết quả tạo Cron Jobs, bạn có thể chỉnh sửa lại nếu muốn.

new cron jobs

Ví dụ 2: Hướng dẫn chạy 1 lệnh command chu kỳ lập lại hằng ngày vào lúc 12h AM

Và Command ở đây là dòng lệnh Backup MySQL

mysqldump -u user -p pass_word database_name > backup.sql

hướng dẫn tạo cron job backup mysql

Như vậy là bạn đã có thể tự lập một lịch thực hiện những lệnh cho riêng mình

Các lệnh đặc biệt sử dụng trong Cron job

Lệnh sẽ gồm 2 phần.

[program to execute (perl/pyth./php)] [switches] [script]

Chương trình để chạy các script sẽ là:

  • php
  • Python

Đối với các file đặt trên server bạn nên gọi đường dẫn trực tiếp, như /home/username/public_html/path/to/script , với username là tên user của hosting.

Với perl/cgi scripts bạn nên đặt file trong cgi-bin và chmod 755.

Ví dụ:

PHP script:

php -q /home/username/public_html/scripts/testrun.php

Python scripts:

python /home/username/public_html/path/to/script

Perl/CGI scripts:

/home/username/public_html/cgi-bin/yourscript.pl

Sử dụng User Agent String.

Thông thường khi sử dụng Share hosting vì lý do bảo mật bạn sẽ không sử dụng được wget command vì nhà cung cấp vô hiệu hóa lệnh này. Hầu hết các script chạy thông qua wget có thể được sử dụng với lệnh, lynx hoặc curl các rule trong mod_security thông thường sẽ chặn lynx và curl nếu không thiết lập user agent, để thiết lập user agent bạn có thể làm theo hướng dẫn sau.

curl --user-agent YOUR_STRING (URL)

lynx -dump -useragent=YOUR_STRING (URL)

Lệnh cron bạn sử dụng như sau.

/usr/bin/curl --user-agent cPanel-Cron http://example.com/cron.php

Trong trường hợp này chúng ta định nghĩa curl User-Agent là cPanel-Cron, bạn có thể đặt nó là bất cứ điều gì bạn muốn.