1) Kiểm tra CronTabs /etc/cron.*/
2) Bắt đầu tạo một CronTabs bằng dòng lệnh
1 |
crontab -e |
3) Ta có 2 dạng viết
3.1) Viết một lệnh chạy định kỳ trong Crontabs
1 |
1 2 3 4 5 /path/to/command arg1 arg2 |
3.2) Cho chạy một batch file
1 |
1 2 3 4 5 /root/backup.sh |
* Ý nghĩa của các con số 1 2 3 4 5
1 2 3 4 5 6 7 8 |
* * * * * - - - - - | | | | | | | | | ----- Ngày của tuần (0 - 7) (Chủ nhật=0 or 7) | | | ------- Tháng (1 - 12) | | --------- Ngày của tháng (1 - 31) | ----------- Giờ (0 - 23) ------------- Phút (0 - 59) |
4) Một số ví dụ cụ thể
1 |
*/5 * * * * /path/to/command |
Bash command sẻ chạy mỗi 5 phút.
1 |
5 0 * * * /path/to/command |
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).
—————————————————————————————————————————————————————–
1 |
15 14 1 * * /path/to/script.sh |
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.
—————————————————————————————————————————————————————–
1 |
0 22 * * 1-5 /scripts/phpscript.php |
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
1 2 |
# crontab -l # crontab -u username -l |
Xem danh sách các crontab đang thực hiện
—————————————————————————————————————————————————————–
1 |
crontab -r |
Xóa tất cả các Crontab đang chạy
—————————————————————————————————————————————————————–
1 |
crontab -r -u username |
Xóa Crontab của user xác định
7) Sử dụng các ký tự đặt biệt
Ký tự | Ý nghĩa |
@reboot | Chạy một lần lại. |
@yearly | Chạy một lần một năm, “0 0 1 1 *”. |
@annually | (giống như @yearly) |
@monthly | Chạy mỗi tháng một lần, “0 0 1 * *”. |
@weekly | Chạy mỗi tuần một lần, “0 0 * * 0”. |
@daily | Chạy mỗi ngày một lần, “0 0 * * *”. |
@midnight | (giống như @daily) |
@hourly | Chạy mỗi giờ một lần, “0 * * * *”. |
Chúc các bạn thực hiện tốt