Làm việc với CRONTAB trên LINUX
Cron là một tiện ích cho phép các tác vụ (tasks) tự động chạy nền trên hệ thống theo định kỳ bằng cách sử dụng các cron daemon.
Crontab (CRON TABLE) là một file chứa đựng trong nó các bảng biểu (schedule) cần chạy cũng như thời gian chạy của nó. Tất cả những gì chúng ta cần làm là gán các chương trình cần thực thi tới file crontab của hệ thống và sử dụng cấu trúc lệnh phù hợp, cron sẽ tự động thực hiện các ứng dụng đó vào thời điểm đã được thiết lập sẵn trước đó. Do vậy, tính năng này rất phù hợp trong quá trình tự động sao lưu dữ liệu, bảo dưỡng hệ thống… và các công việc tương tự khác.
Cài đặt Crontab
Kiểm tra đã cài đặt Cron:
#Rpm –qa | grep cron
Nếu chưa cài đặt thì cài đặt
#Yum install crontabs
Crontab làm việc như thế nào?
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
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:
minute(0-59) hour(0-23) day(1-31) month(1-12) weekday(0-6) command
* * * * * 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)
Ví dụ:
Bạn muốn copy file access_log và error_log trong apache vào thư mục /Backup hàng ngày vào lúc 10h30 AM. Đầu tiên bạn tạo ra một file scrip tenfile.sh chứa đựng lệnh mà bạn cần chạy, trong trường hợp này là:
#!/bin/bash
date=`date +%F-%H-%M-%S`
cp /var/log/httpd/access_log /Backup/access_log-$date
cp /var/log/httpd/error_log /Backup/error_log-$date
Lưu vào thư mục /Backup với tên backup.sh và cấp quyền thực thi cho file .sh bằng lệnh
#chmod 755 /Backup/backup.sh
Mở crontab bằng lệnh: crontab –e
crontab -e
30 10 * * * sh /Backup/backup.sh
Bạn cũng có thể cho backup theo từng phút bằng lệnh:
0-59 * * * * sh /Backup/backup.sh