hot Về việc đăng ký thành viên

hot Thông tin Việc Làm Khách Sạn lương cao

hot Hỗ trợ đăng bài PR MIỄN PHÍ


Tổng quát về crontab

Thảo luận trong 'Rao vặt linh tinh'

Ads

Chia sẻ trang này

  1. hauphong

    hauphong Nhân viên thử việc

    Tham gia ngày:
    16/12/14
    Bài viết:
    433
    Đã được thích:
    0
    Điểm thành tích:
    16
    Giới tính:
    Nam
    vps gia re

    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:

    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:

    * * * * * 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:

    #!/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:

    $ crontab -e
    Nhấn o (chữ o) để thêm dòng mới với nội dung:

    0 15 * * 1,4 sh /mnt/data/linux/code/backupbookmarks.sh
    Để lưu lại và thoát bạn nhấn ESC, rồi gõ vào :wq nhấn Enter.

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

    /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:

    #!/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:

    0-59 * * * * sh /mnt/data/linux/code/backupbookmarks.sh
    5. Disable email
    Mặc định cron gửi email cho người thực thi cron job, nếu bạn muốn tắt chức năng gửi email này đi thì hãy thêm đoạn sau vào cuối dòng

    >/dev/null 2>&1
    6. Tạo log file
    Để lưu log vào file:

    30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log
     

Chia sẻ trang này

Tags: No tags Edit Tags

Bài viết giới thiệu: "Tổng quát về crontab"