Tự động hóa công việc dữ liệu với cron

Xử lý dữ liệu trên Shell

Susan Sun

Data Person

Trình lập lịch là gì?

  • Trình lập lịch chạy các job theo lịch định sẵn
  • Trình lập lịch thương mại: Airflow, Luigi, Rundeck, v.v.
  • Trình lập lịch cron
    • đơn giản
    • miễn phí
    • tùy biến
    • thuần dòng lệnh
    • tích hợp sẵn trên MacOS và Linux
Xử lý dữ liệu trên Shell

Cron là gì?

Cron:

  • là trình lập lịch theo thời gian
  • có sẵn trên MacOS, Unix
  • có thể cài trên Windows qua Cygwin hoặc dùng Windows Task Scheduler
  • dùng để tự động hóa bảo trì hệ thống, script bash, job Python, v.v.
Xử lý dữ liệu trên Shell

Crontab là gì?

Crontab là tệp trung tâm để theo dõi các cron job.

crontab -l
no crontab for <username>

Tài liệu:

man crontab
Xử lý dữ liệu trên Shell

Thêm job vào crontab

Cách 1: chỉnh crontab bằng trình soạn thảo văn bản (ví dụ: nano, Vim, Emacs)

Cách 2: echo lệnh lập lịch vào crontab

echo "* * * * * python create_model.py" | crontab

Kiểm tra job đã được lập lịch đúng chưa:

crontab -l
* * * * * python create_model.py
Xử lý dữ liệu trên Shell

Học cách đặt thời gian cho cron job

Lịch phổ biến nhất cho cron job là mỗi phút.

Phân tách thành phần thời gian của một cron job:

.---------------- phút (0 - 59)
|  .------------- giờ (0 - 23)
|  |  .---------- ngày trong tháng (1 - 31)
|  |  |  .------- tháng (1 - 12) HOẶC jan,feb,mar,apr ...
|  |  |  |  .---- thứ (0 - 6) (Chủ nhật=0 hoặc 7) HOẶC sun,mon,tue,wed ...
|  |  |  |  |
*  *  *  *  * command-to-be-executed
Xử lý dữ liệu trên Shell

Học cách đặt thời gian cho cron job

*  *  *  *  * python create_model.py

Diễn giải:

  • Chạy mỗi phút của mỗi giờ, mỗi ngày, mỗi tháng và mỗi ngày trong tuần.

  • Ngắn gọn: chạy mỗi phút

Tài liệu thêm:

Xử lý dữ liệu trên Shell

Ayo berlatih!

Xử lý dữ liệu trên Shell

Preparing Video For Download...