Làm thế nào để chạy một công việc định kỳ lặp lại (Cron Jobs) trong Linux, Unix

1) Kiểm tra CronTabs /etc/cron.*/

2) Bắt đầu tạo một CronTabs bằng dòng lệnh

 3) Ta có 2 dạng viết

3.1) Viết một lệnh chạy định kỳ trong Crontabs

 3.2) Cho chạy một batch file

* Ý nghĩa của các con số 1 2 3 4 5

 4) Một số ví dụ cụ thể

Với câu trên thì sẻ chạy dòng lệnh trên vào lúc 0 giờ 5 phút khuya mỗi ngày.(Vì ở trường giờ mình cài đặt 0 tức là 0 giờ hằng ngày và trường phút là 5).

——————————————————————————————————————–

Với câu lệnh này sẻ chạy mỗi tháng một lần vào ngày 1 của tháng đó. lúc 14 giờ 15 phút.

——————————————————————————————————————–

Lệnh này sẻ chạy hàng tuần từ thứ 2 đến thứ 5 lúc 22 giờ

——————————————————————————————————————–

5) Ý nghĩa các ký tự  (*) (,) (-) (/)

(*) Tất cả các giá trị(Nếu * ở giá trị phút thì tức là mỗi phút một lần, giờ thì mỗi giờ một lần …)

(,) Cái này mình phải đưa cụ thể một danh sách( Nếu , ở trường giờ thì liệt kê danh sách các giờ để thực hiện).

(-) Danh sách một dãy các giá trị(0 1-5 * * * nghĩa là thực hiện công việc vào 1h,2h,3h,4h,5h hằng ngày).

(/) Ngắt quảng thời gian thực hiện(0 0-23/2 * * * tức là thực hiện hằng này bắt đầu từ 0 giờ và 2 tiếng sau làm lại 1 lần nửa)

6) Một số lệnh khác

Xem danh sách các crontab đang thực hiện

——————————————————————————————————————–

Xóa tất cả các Crontab đang chạy

——————————————————————————————————————–

Xóa Crontab của user xác định

7) Sử dụng các ký tự đặt biệt

Ký tựÝ nghĩa
@rebootChạy một lần lại.
@yearlyChạy một lần một năm, “0 0 1 1 *”.
@annually(giống như @yearly)
@monthlyChạy mỗi tháng một lần, “0 0 1 * *”.
@weeklyChạy mỗi tuần một lần, “0 0 * * 0”.
@dailyChạy mỗi ngày một lần, “0 0 * * *”.
@midnight(giống như @daily)
@hourlyChạy mỗi giờ một lần, “0 * * * *”.

Chúc các bạn thực hiện tốt

Leave a Reply