Các bài viết cũ

Khái niệm Crontab trên Linux

1. Cron là gì?

Cron là một tiện ích cho phép thực hiện các tác vụ trên hệ thống một cách tự động theo định kỳ, ở chế độ nền của hệ thống. Chức năng này khá phong phú cho phép thiết lập tác vụ dưới dạng command đơn hoặc dùng script theo thời gian định ký được thiết lập sẵn. Tiện ích này trong nhiều trường hợp tỏ ra khá hữu dụng với người dùng và người quản trị. Đơn cử như vấn đề backup Mysql một cách tự động hàng ngày vào một thư mục cố định mà chúng ta quy định chẳng hạn.

Phân loại Cron ?

Có tất cả là hai dạng được sử dụng trong cấu hình Cron:

1. Crontab cho hệ thống Linux/Unix: Thông thường được sử dụng bởi các dịch vụ hệ thống hoặc các công việc quan trong đòi hỏi các đặc quyền cấp cao như root. Đặc biệt còn có thể quy định tác vụ sẽ được thực thi dưới  danh nghĩa của một người dùng xác định trong hệ thống.

2. Crontab cho người dùng hệ thống: Tất cả người dùng trong hệ thống đều có quyền tạo ra các tác vụ định kỳ cho bản thân người dùng đó. Và mặc định các tác vụ do người dùng tạo ra sẽ hoạt động dưới danh nghĩa người dùng đó và không thể thay đổi.

2. Cron làm việc thế nào?

Một cron schedule đơn giản là một tập tin ASCII. Mỗi người dùng có một Cron riêng, thông thường nằm ở /var/spool/cron . Các Cron không cho phép người dùng tạo hoặc chỉnh sửa trực tiếp với bất kỳ trình biên tập tập tin nào, trừ phi họ dùng lệnh crontab. Một số lệnh thường dùng:

crontab -e: tạo hoặc chỉnh sửa file crontab
crontab -l: hiển thị file crontab
crontab -r: xóa file crontab

3. Cấu trúc của crontab

Một crontab file có 6 phân đoạn trong đó 5 phân đoạn đầu xác định thời gian, và đoạn cuối cùng là lệnh sẽ được chạy định kỳ mà chúng ta mong muốn. Mỗi phân đoạn của cú pháp crontab cách nhau bằng một dấu khoảng trắng nhưng đoạn cuối cùng có thể tồn tại trong nó nhiều khoảng trắng và điều chú ý là thời gian tham chiếu là từ máy local.

Read the rest of this entry