Tháng 1
14
2010

Sử dụng 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ụ một cách tự động theo định kỳ, ở chế độ nền của hệ thống. Crontab (CRON TABle) là một file chứa đựng bảng biểu (schedule) của các entries được chạy.

2. Cron làm việc thế nào?
Một cron schedule đơn giản là một text file. Mỗi người dùng có một cron schedule riêng, file này thường nằm ở /var/spool/cron. Crontab files 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, trừ phi bạn dùng lệnh crontab. Một số lệnh thường dùng:

Quote:

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ó 5 trường xác định thời gian, cuối cùng là lệnh sẽ được chạy định kỳ, cấu trúc như sau:

Code:

*     *     *     *     *     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 đó.

4. Ví dụ
Giả sử tôi viết một đoạn script backup bookmarks trong Firefox như sau:

Code:

#!/bin/bash

date=`date +%F`

cp ~/.mozilla/firefox/13kee53o.default/bookmarks.html /mnt/data/BACKUP/bookmarks-$date.html

sau đó tôi cho script này chạy định kỳ vào 15h thứ Hai và thứ Năm hàng tuần bằng cách tạo một file crontab như sau:

Code:

$ crontab -e

0 15 * * 1,4 sh /mnt/data/linux/code/backupbookmarks.sh

Cuối cùng, nhớ khởi động lại cron daemon:

Code:

/etc/init.d/crond restart

ps: Để muốn “test” ngay xem crontab nó có hoạt động không, bạn có thể sửa lại đoạn script trên một chút:

Code:

#!/bin/bash

date=`date +%F-%H-%M-%S`

cp ~/.mozilla/firefox/13kee53o.default/bookmarks.html /mnt/data/BACKUP/bookmarks-$date.html

và file crontab bạn sẽ cho backup liên tục theo từng phút như sau:

Quote:

0-59 * * * * sh /mnt/data/linux/code/backupbookmarks.sh

Bài liên quan:

  1. [Kiến thức cơ bản] Dùng lệnh date trên Linux.
  2. Sử dụng Nginx và memcached để tăng tốc Apache trên Debian Lenny
  3. [Kiến thức cơ bản] Cần sao lưu những gì trên hệ thống Linux Home Server
  4. [Kiến thức cơ bản] Các cắt và ghép file trong Linux/Ubuntu
  5. [Kiến thức cơ bản] Thiết lập desktop đồ họa từ xa trên Linux

Các bài hay khác

Về tác giả: Dũng Phạm Trung

Cách cài đặt là trang cung cấp hướng dẫn cấu hình, cài đặt và sử dụng phần mềm. Nội dung trên website được chúng tôi sưu tầm hoặc tạo ra nhằm giúp mọi người nắm bắt được những kiến thức CNTT một cách đơn giản nhất.

2 lời bình + Thêm lời bình

  • ZV04uN Excellent article, I will take note. Many thanks for the story!

  • Bai viet hay qua’ thanks !!!

Với lời bình

CommentLuv badge

Comments links could be nofollow free.

Bình luận mới nhất

  • Loading...