Những Lệnh Crontab Thường Dùng | TopDev

Facebook Linkedin Twitter Search Sign in Welcome! Log into your account your username your password Forgot your password? Get help Password recovery Recover your password your email A password will be e-mailed to you. TopDev Home Công nghệ Những lệnh crontab thường dùng
  • Công nghệ
  • Lập Trình
FacebookLinkedinTelegram

Bài viết được sự cho phép của tác giả Lê Chí Dũng

Tổng quan

  • Định nghĩa:
    • 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ế độ background của hệ thống
    • Crontab (cron tab) là một file chứa đựng các thông tin config của schedule của các task được chạy
  • Mục đích bài này:
    •  Sử dụng cron job để chạy background process trên Server
Building Microservices Application - Phần 1: Sử dụng Netflix Eureka, Ribbon và Zuul Building Microservices Application - Phần 3: Xác thực API bằng Oauth 2.0

Crontab trên Server

Crontab (cron table)

  • Trên server Cron files được lưu trong thư mục /var/spool/cron, cấu trúc giống như trên các os unix-like khác.
  • Các lệnh dùng với crontab:
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
  • Nếu server chưa có crontab cần install:
# Install: yum install cronie # Start crontab và tự động chạy mỗi khi reboot: systemctl start crond chkconfig crond on
  • Cấu trúc:
* * * * * owner command to execute 1 * * * * * owner command to execute 2 * * * * * owner command to execute 3
  • Giải thích
┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of month (1 - 31) │ │ │ ┌───────────── month (1 - 12) │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday; │ │ │ │ │ 7 is also Sunday) │ │ │ │ │ │ │ │ │ │ * * * * * owner command to execute

Setup schedule for cron tab

Schedule Description Format
yearly Run once a year at midnight of 1 January 0 0 1 1 *
monthly Run once a month at midnight of the first day of the month 0 0 1 * *
weekly Run once a week at midnight on Sunday morning 0 0 * * 0
daily Run once a day at midnight 0 0 * * *
hourly Run once an hour at the beginning of the hour 0 * * * *

Example

# Run a task for every Friday at 17:01pm 1 17 * * 5 /var/cron/pkgtabs/shutdown_server_and_go_drinking # Run db_export_dump at 23:45 (11:45 PM) every Saturday 45 23 * * 6 /var/cron/pkgtabs/db_export_dump # Run task for every hours 0 * * * * /var/cron/pkgtabs/send_mail

Config crontab

Để crontab tự động chạy cần kích hoạt và cấu hình crontab như sau:

crontab -e # Sau đó nhập nội dung # Chạy cron đơn giản, repeat theo từng giờ crontab 0 * * * * $(OWNER) /var/share/point_tool/task1.sh # Chạy cron tab theo từng phút, đồng thời tại lock để tránh trường hợp task chạy chồng lên nhau (task xữ lý chưa hết thời gian thì task sau đến thời điểm chỉ định sẽ không được chạy crontab * * * * * $(OWNER) /usr/bin/flock -n /var/point_tool/cron/task2.lockfile php /var/share/point_tool/task2.php --minutely >> /var/log/cron/task2.log

Trong đó

  • /usr/bin/flock -n /path/to/lockfile tạo file lock cho task, chống chạy nhiều task một lúc
  • –minuly lock task theo phút

Execute crontab

Có thể start crontab ở console như sau:

# Run a task for every Friday at 17:01pm 1 17 * * 5 /var/cron/pkgtabs/shutdown_server_and_go_drinking # Run db_export_dump at 23:45 (11:45 PM) every Saturday 45 23 * * 6 /var/cron/pkgtabs/db_export_dump # Run task for every hours 0 * * * * /var/cron/pkgtabs/send_mail Bài viết gốc được đăng tải tại lcdung.top Có thể bạn quan tâm:
  • Tìm hiểu các thông số cấu hình Cron job
  • Tổng hợp những câu lệnh SQL cơ bản
  • 20 trường hợp sử dụng lệnh Docker cho developer
Xem thêm Việc làm IT hấp dẫn trên TopDev

ĐỪNG BỎ LỠ

  • Tổng hợp các lệnh Linux dùng để xử lý các vấn đề
  • Tận dụng ưu thế cơ sở vật chất tại Techcombank: Nền tảng Machine Learning on-premise mang lại khả năng phân tích dữ liệu mạnh mẽ
  • Data is all about orchestration (Tầm quan trọng của việc điều phối khi làm việc với dữ liệu)
  • Viết Reminder Parser dùng Rust
  • Những lệnh GIT thường sử dụng từ cơ bản đến nâng cao

VIỆC LÀM IT LƯƠNG CAO

  • Việc làm PHP
  • Việc làm JavaScript
  • Việc làm Java
  • Việc làm Front-end
  • Việc làm Back-end
  • Việc làm .NET
  • Việc làm Python
  • Việc làm Golang
  • Việc làm iOS
  • Việc làm Android
  • Việc làm Flutter
  • Việc làm Tester
  • Việc làm Node.js
ABOUT USTopDev is a recruitment network and ecosystem in Mobile & IT fields. We are top leading recruitment network in Mobile & IT fields, in Vietnam, offering Tech talent solution which meets your needs. Our networks cover 95% of Tech communities in Vietnam and our clients come from both Vietnam and South East Asia. Hotline: 0888 1555 00 app_store google_play Contact us: [email protected]FOLLOW US Facebook Linkedin Twitter

Từ khóa » Sử Dụng Lệnh Crontab