Crontab là gì? Một số câu lệnh cơ bản.

Các bạn cần lên lịch sẵn để chạy một số câu lệnh tự động mà không cần phải trực tiếp gõ lệnh. Hoặc cần tạo ra một tác vụ phục vụ cho những công việc lặp đi lặp lại. Cronjob có thể giúp bạn tiết kiệm thời gian bằng cách xử lý tác vụ tự động. Bài viết này. HOSTVN sẽ giới thiệu crontab là gì? và một số câu lệnh cơ bản.

Crontab là gì?

Cron là một tiện ích cho phép chạy các dòng lệnh theo một chu kì thời gian nào đó. Nó là một tiện ích giúp lập lịch chạy những dòng lệnh bên phía server để thực thi một hoặc nhiều công việc nào đó theo thời gian được lập sẵn.

Cron là một daemon process, điều này cho phép nó chạy ngầm mãi mãi trong hệ thống linux.

Cron làm việc như thế nào?

Một crontab đơn giản là một file text. Mỗi người có thể tạo nhiều crontab và có lập lịch riêng, file này thường nằm ở /var/spool/cron. Crontab không cho phép bạn tạo hoặc chỉnh sửa trực tiếp với bất kỳ trình text editor nào, chúng chỉ cho phép bạn chỉnh sửa khi sử dụng lệnh crontab.

crontab -e: Tạo,  chỉnh sửa các crontab
crontab -l: Xem các crontab đã tạo
crontab -r: Xóa crontab

Thông thường, tiện ích cron được cài sẵn trên VPS, tuy nhiên một số trường hợp không có sẵn trên VPS. Để kiểm tra các bạn có thể sử dụng câu lệnh crontab -l  nếu thông báo lỗi cú pháp -bash: crontab: comand not found thì có nghĩa máy của bạn chưa cài tiện ích này.

Cấu trúc của crontab

Crontab có 5 trường – mỗi trường đại diện bởi dấu hoa thị (*). Chúng dùng để xác định ngày và thời gian của tác vụ được thiết lập.

*     *     *     *     *     command to be executed
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of week (0 - 6) (Sunday=0)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

Nếu một cột được gán ký tự *, nó có nghĩa là tác vụ sau đó sẽ được chạy ở mọi giá trị cho cột đó.

| Field | Giải thích       | Giá trị cho phép          |
|-------|------------------|---------------------------|
| MIN   | phút             | 0 to 59                   |
| HOUR  | Giờ              | 0 to 23                   |
| DOM   | Ngày trong tháng | 1-31                      |
| MON   | Tháng            | 1-12                      |
| DOW   | Ngày trong tuần  | 0-6                       |
| CMD   | Lệnh             | Các lệnh có thể thực hiện |

Một số lệnh cơ bản

Nếu bạn sử dụng hosting thì có thể tham khảo các hướng dẫn sau để tạo cronjob

- Chạy lệnh vào ngày đầu tiên của mỗi tháng.

0 0 1 * *  /home/user/script.sh

- Chạy backup mỗi giờ mỗi ngày 10/06

0 * 10 6 * /bin/sh backup.sh

- Chạy backup vào 0h mỗi ngày

0 0 * * * /bin/sh backup.sh

- Chạy backup mỗi phút một lần:

* * * * * /bin/sh backup.sh

- Chạy script 30 phút một lần:

0,30 * * * * /bin/execute/this/script.sh

- Chạy script vào 5 giờ sáng mỗi ngày:

0 5 * * * /bin/execute/this/script.sh

- Tắt tính năng gửi email mỗi khi chạy crontab

Mặc định cron gửi email cho quản trị viên mỗi khi thực thi cron job. Nếu bạn muốn tắt chức năng gửi email này đi thì hãy thêm >/dev/null 2>&1 vào cuối dòng.

0 15 * * 1,4 sh /etc/script.sh >/dev/null 2>&1

Như vậy HOSTVN đã cùng các bạn tìm hiểu Crontab là gì và một số câu lệnh cơ bản. Hi vọng bài viết này, bạn có thể xây dựng thêm kiến thức cho mình một cách tốt nhất, chúc bạn thành công!



Article ID: 782
Cập nhật gần nhất: 23 Th09, 2021
Lần sửa đổi: 1
Thuật ngữ -> Crontab là gì? Một số câu lệnh cơ bản.
https://kb.hostvn.net/crontab-la-gi-mt-s-cau-lnh-co-ban_782.html