Hướng dẫn sử dụng crontab trên Linux

Hướng dẫn sử dụng crontab trên Linux

Crontab trên Linux là một ứng dụng giúp quản trị viên lập lịch để thực thi các ứng dụng, các mã bash script, … một cách tự động vào các thời điểm cụ thể đã được đặt ra trước. Đây là một công cụ rất hữu hiệu cho các quản trị viên làm về mạng, server ví dụ như: Lập lịch sao lưu cơ sở dữ liệu tự động, bật/tắt các phần mềm nào đó cụ thể để tiết kiệm bộ nhớ. Ở bài viết này mình sẽ hướng dẫn các bạn cách thiết lập lập lịch thực thi với nhu cầu mong muốn nhé!

huong-dan-su-dung-crontab-tren-linux

 

Chỉnh sửa crontab

Bước 1: Để chỉnh sửa crontab trước tiên bạn phải truy cập vào ssh với user root sau đó gõ lệnh: crontab -e

Bước 2: Một cửa sổ chỉnh sửa nội dung tập tin sẽ hiện lên, bật bấm nút Insert trên bàn phím để bật chế độ chèn. Rồi nhập 1 lệnh ví dụ như dưới đây

Bước 3: Thoát khỏi chế độ chèn bằng nút ESC trên bàn phím sau đó gõ lệnh: :wq (Hai chấm vê kép quy) để lưu lại chỉnh sửa.

Bước 4: Gõ lệnh: service crond restart để khởi động lại service cho crontab mới chính thức có hiệu lực.

Một số lệnh

  • crontab -e :Chỉnh sửa crontab
  • crontab -l : Hiển thị danh sách cron job
  • crontab -r : Xóa file crontab

Thiết lập thời gian cho crontab

Như bạn thấy ở trên có đoạn 5 0 * * * có nghĩa là đoạn script: /root/backup.sh sẽ được thực thi vào 0 giờ 5 phút sáng hàng ngày. Để hiểu hơn về cách đặt lịch như thế này mình sẽ có hình ảnh như dưới đây để các bạn dễ hình dung:

thiet-lap-thoi-gian

Như bạn có thể thấy một cronjob được chia thành 6 phân đoạn được phân tách bởi dấu cách. Trong đó có 5 phân đoạn đầu để định nghĩa thời gian:

  • Nếu tất cả đều là dấu * thì mỗi phút command sẽ được thực hiện 1 lần
  • Thứ tự là: phút, giờ, ngày của tháng, tháng, ngày của tuần.

Một số ví dụ mẫu về crontab

Để các bạn dễ hiểu hơn mình sẽ lấy một số ví dụ để các bạn nhanh chóng hiểu được tránh đi sâu vào lý thuyết

  • 0 0 * * * , thực hiện script vào 0 giờ 0 phút hàng ngày
  • 0 1 23 * *, thực hiện script vào 1 giờ 0 phút, của ngày 23 hàng tháng
  • 5 1 * * 1, thực thi script vào 1 giờ 5 phút vào các thứ 2
  • 0 5 23 12 *, thực thi script vào 0 giờ 5 phút ngày 23 tháng 12 hàng năm

Kết luận

Hướng dẫn trên do mình viết ở mức đơn giản nhất chứ chưa đi nghiên cứu chuyên sâu để giúp các bạn nhanh chóng thiết lập để 1 công việc được kích hoạt tự động trong một thời gian đã định ra trước. Chúc các bạn có thể nhanh chóng giải quyết được nhu cầu công việc của mình với bài viết này của mình nhé!.