Cron Jobs là gì?
Cron job là một lệnh trên Linux dùng để lên lịch làm việc cho một hành động cụ thể sẽ được thực thi, cần lặp đi lặp lại. Đây là tính năng hữu ích trên VPS giúp tự động hóa các tác vụ thủ công có tính chất lặp lại, giúp tiết kiệm thời gian.
![Tạo Cron Jobs trên Vps Linux](https://lanit.com.vn/wp-content/uploads/2023/09/cron-job.png)
Vậy làm sao để tạo Cron Jobs trên VPS Linux? Cùng theo dõi ngay nhé!
Cách tạo Cron Jobs trên VPS Linux nhanh chóng
Cú pháp Cron
A B C D E USERNAME path/to/command arg1 arg2
Trong đó:
- A: Phần giây của thời gian lên lịch. Giá trị từ 0 – 59
- B: Phần Phút của thời gian lên lịch. Giá trị từ 0 – 59
- C: Giờ của thời gian lên lịch. Giá trị từ 0 – 23
- D: Ngày trong tháng của thời gian lên lịch. Giá trị từ 1 – 31
- E: Là tháng của thời gian lên lịch. Giá trị từ 1 – 12
- Username: Tên người dùng hoặc tài khoản trên Linux mà công việc lập lịch sẽ chạy dưới quyền
- Path/to/command: Đường dẫn đến tệp tin hoặc lệnh mà bạn muons thực thi định kỳ
- arg1, arg2: Là các đối số mà bạn muốn truyền vào lệnh hoặc chương trình được thực thi
A B C D E USERNAME root/backup.sh
Trong đó:
- A: là phần giây của thời gian lên lcihj
- B: là phút của thời gian lên lịch
- C là giờ của thời gian lên lịch
- D là ngày trong tháng của thời gian lên lịch
- E là tháng của thời gian lên lịch
USERNAME: Tên người dùng hoặc tài khoản trên Linux mà công việc lập lịch sẽ chạy dưới quyền. Trường hợp này, nó được đặt là “root” – Công việc sẽ chạy với đặc quyền của người dùng root, có quyền quản trị cao nhất.
root/backup.sh: Là đường dẫn đến tệp tập lệnh hoặc Script mà bạn muốn thực thi trong công việc lập lịch. Script có tên là “backup.sh” nằm trong thư mục gốc của hệ thống.
Trong chuỗi lên lịch Cron Jobs trên Vps Linux, bạn có thể sử dụng một số ký tự đặc biệt để xác định mẫu thời gian lên lịch cụ thể hoặc điều kiện.
Dưới đây là một số ký tự đặc biệt thường được sử dụng:
* (asterisk): Được dùng để chỉ định tất cả giá trị cụ thể.
/ (slash): Dùng để chỉ định khoảng cách hoặc bước nhảy
– (dash): Được dùng để xác định khoảng cách thời gian
, (comma): Dùng để liệt kê nhiều giá trị
?: Được sử dụng trong trường hợp không xác định giá trị cụ thể cho một phần của thời gian lên lịch.
Ví dụ, một dòng lệnh Cron Job có thể có dạng như sau:
- * * * * USERNAME path/to/command arg1 arg2
Với ví dụ này, mọi phần của thời gian lên lịch (giây, phút, giờ, ngày, tháng) đều được đặt thành * – Công việc lập lịch sẽ chạy liên tục mà không bị giới hạn về thời gian.
Ví dụ về Cron Jobs
Để chạy các lệnh crontab bạn bằng lệnh
crontab -e
Chạy file root/backup.sh vào 23 giờ 30 phút mỗi ngày
30 23 * * * /root/backup.sh
Chạy file root/backup.sh vào 23 giờ 30 phút ngày 28 hàng tháng
30 23 28 * * /root/backup.sh
Chạy file root/backup.sh vào 23 giờ 30 phút từ thứ 2 – thứ 6
30 23 * * 0-4 /root/backup.sh
Chạy file root/backup.sh vào 23 giờ mỗi chủ nhật
0 23 * * sun /root/backup.sh
![Tạo Cron jobs trên vps linux](https://lanit.com.vn/wp-content/uploads/2023/09/tao-cron-jobs.png)
Các tùy chọn của Cron Jobs
Liệt kê cron jobs.
crontab -l OR crontab -u username -l
Trong đó: username thay bằng user của bạn.
![Tạo cron jobs trên Vps linux](https://lanit.com.vn/wp-content/uploads/2023/09/tao-cron-jobs-1.png)
Xoá toàn bộ crontab jobs bằng lệnh
crontab -r
Xoá Cron job của một user bằng lệnh
crontab -r -u username
![Tạo Cron jobs trên Vps linux](https://lanit.com.vn/wp-content/uploads/2023/09/tao-cron-jobs-3.png)
Chuỗi trong Crontab
Chuỗi rất được các nhà phát triển yêu thích vì chúng giúp tiết kiệm thời gian bằng cách loại bỏ việc viết lặp đi lặp lại. Cron có các chuỗi bạn có thể sử dụng để tạo lệnh nhanh hơn:
- @hourly: Chạy một lần mỗi giờ (0 * * * *)
- @midnight: Chạy một lần mỗi ngày (0 0 * * *)
- @daily: Giống @midnight
- @weekly: Chạy một lần mỗi tuần (0 0 * * 0)
- @monthly: Chạy mỗi tháng một lần (0 0 1 * *)
- @annually: Chạy một lần mỗi năm (0 0 1 1 *)
- @yearly: Giống @annually
- @reboot: Chạy một lần ở mỗi lần khởi động lại VPS/Server
Ví dụ về cách sao lưu hệ thống của bạn mỗi ngày:
@daily /path/to/backup/script.sh
![Tạo Cron Jobs trên VPS linux](https://lanit.com.vn/wp-content/uploads/2023/09/tao-cron-jobs-3-1.png)
Kết luận
Trên đây, LANIT đã chia sẻ chi tiết đến bạn cách tạo Cron Jobs trên VPS Linux với lệnh đơn giản. Với lệnh trên giúp bạn chạy lệnh lập lịch nhanh chóng. Ngoài ra, nếu bạn có nhu cầu Thuê VPS giá rẻ, thuê máy chủ hoặc Hosting chuyên nghiệp liên hệ ngay với LANIT để được tư vấn chi tiết!