Raspberry Pi không chỉ là một chiếc máy tính nhỏ gọn; bạn có thể tận dụng nó để tự động hóa các tác vụ hàng ngày, từ việc sao lưu tệp tin, giám sát mạng cho đến điều khiển các thiết bị thông minh trong nhà. Khi mới bắt đầu sử dụng Raspberry Pi, tôi thường xuyên phải tự tay chạy hầu hết các script và chương trình. Cách này hoạt động được một thời gian, nhưng việc quên đi những tác vụ quan trọng là điều khó tránh khỏi. Kể từ khi khám phá ra chức năng lên lịch tác vụ, mọi thứ trở nên hiệu quả và đáng tin cậy hơn rất nhiều. Hiện tại, tôi tin tưởng vào các script được lên lịch để xử lý các hoạt động định kỳ mà không cần giám sát liên tục. Dưới đây, tôi sẽ chia sẻ một số phương pháp lên lịch tác vụ trên Raspberry Pi mà tôi đã thử nghiệm. Dù chủ yếu sử dụng cron jobs, bạn có thể xem xét từng phương pháp để chọn ra giải pháp phù hợp nhất với quy trình làm việc và kinh nghiệm của mình.
Người dùng cầm Raspberry Pi 5 trước đàn guitar, minh họa khả năng tự động hóa trên Raspberry Pi
Cron Jobs: Lựa Chọn Linh Hoạt Và Phổ Biến Để Lập Lịch Tác Vụ
Cron jobs cho phép bạn tự động hóa các tác vụ và chạy chúng theo các khoảng thời gian đã định. Bạn có thể định nghĩa các tác vụ này bằng tiện ích Crontab, xác định chính xác phút, giờ, ngày trong tháng, tháng và ngày trong tuần mà tác vụ nên chạy. Để thiết lập, hãy mở terminal và nhập lệnh crontab -e
để chỉnh sửa bảng cron của bạn trong trình soạn thảo văn bản. Bảng cron là một tệp liệt kê các tác vụ đã lên lịch sẽ chạy vào các thời điểm và ngày cụ thể. Mỗi dòng trong bảng cron đại diện cho một công việc riêng biệt, bao gồm lịch trình và lệnh cần thực thi.
Khi bạn chạy crontab -e
lần đầu tiên, bạn sẽ được nhắc chọn một trình soạn thảo văn bản để chỉnh sửa bảng cron. Bạn sẽ thấy các tùy chọn như nano và vim. Chọn trình soạn thảo bằng cách nhập số tương ứng, và nếu bạn muốn thay đổi sau này, hãy chạy lệnh select-editor
. Nano là trình soạn thảo dễ sử dụng nhất. Sau khi chọn trình soạn thảo, bạn sẽ thấy tệp crontab với các hướng dẫn ở đầu. Chúng bắt đầu bằng dấu thăng (#) và giúp giải thích cú pháp. Hãy chỉnh sửa các tác vụ của bạn, sau đó lưu và thoát trình soạn thảo khi hoàn tất.
Thiết bị Raspberry Pi 5 được cầm trước máy tính, thể hiện việc lập lịch cron jobs hiệu quả
Anacron: Tự Động Thực Thi Các Lệnh Định Kỳ Dù Raspberry Pi Không Hoạt Động Liên Tục
Anacron là công cụ lý tưởng cho các lệnh định kỳ trên các hệ thống không hoạt động 24/7. Không giống như cron, vốn yêu cầu hệ thống phải đang chạy vào đúng thời điểm đã lên lịch, Anacron rất xuất sắc trong việc “bắt kịp” các công việc bị bỏ lỡ. Ví dụ, nếu bạn lên lịch một script sao lưu nhưng Pi bị tắt vào thời điểm đó, Anacron sẽ tự động chạy script đó vào lần tiếp theo hệ thống khởi động. Để bắt đầu sử dụng, hãy cài đặt Anacron bằng lệnh sudo apt install anacron
. Sau đó, định nghĩa các tác vụ trong tệp /etc/anacrontab. Mỗi dòng trong tệp này đại diện cho một công việc và bao gồm các yếu tố như số ngày, độ trễ tính bằng phút trước khi thực thi, mã định danh công việc và lệnh shell cần thực thi.
Ngoài việc chỉnh sửa /etc/anacrontab, bạn cũng có thể sử dụng các thư mục tiêu chuẩn như /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly. Bạn chỉ cần đặt script thực thi của mình vào một trong các thư mục này và Anacron sẽ lo việc lên lịch.
Quá trình cài đặt Anacron trên Raspberry Pi qua terminal
Người dùng cầm Raspberry Pi và các ổ đĩa lưu trữ, liên tưởng đến ứng dụng sao lưu tự động với Anacron
Apache Airflow: Hệ Thống Mạnh Mẽ Để Quản Lý Các Luồng Công Việc Phức Tạp
Airflow được xây dựng bằng Python và cho phép bạn định nghĩa các luồng công việc dưới dạng mã bằng cách sử dụng Đồ thị Hướng Chu trình (Directed Acyclic Graphs – DAGs). Mỗi DAG đại diện cho một chuỗi các tác vụ có sự phụ thuộc lẫn nhau, và các tác vụ này có thể bao gồm từ việc chạy script Python đến thực thi lệnh shell, kích hoạt API hoặc thậm chí quản lý các hoạt động cơ sở dữ liệu. Để sử dụng Airflow, trước tiên bạn cần cài đặt Python và sau đó thiết lập môi trường ảo để nó chạy. Bắt đầu bằng cách cập nhật và nâng cấp các gói bằng lệnh sudo apt-get update
và sudo apt-get upgrade
. Sau đó, chạy lệnh sudo apt-get install python3 python3-pip
. Thiết lập môi trường ảo bằng cách chạy pip3 install virtualenv
, rồi virtualenv venv_airflow
.
Cài đặt Airflow bằng cách chạy: pip install "apache-airflow==2.7.3" --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.7.3/constraints-3.8.txt"
. Sau đó, bạn có thể khởi tạo Airflow bằng cách chạy export AIRFLOW_HOME=~/airflow
, rồi airflow db init
. Khởi động các dịch vụ Airflow bằng cách chạy scheduler với lệnh airflow scheduler
. Trong một terminal riêng, khởi động máy chủ web bằng lệnh airflow webserver --port 8080
. Truy cập giao diện người dùng (UI) bằng cách truy cập http://<IP_Raspberry_Pi_của_bạn>:8080
. Tạo một thư mục và tệp đồ thị hướng chu trình (DAG) bằng các lệnh mkdir -p ~/airflow/dags
và nano ~/airflow/dags/sample_task.py
. Sau đó, bạn có thể truy cập lại UI và bắt đầu lên lịch các tác vụ bằng Airflow.
Màn hình terminal hiển thị các lệnh cập nhật hệ thống và cài đặt Python, các bước chuẩn bị cho Apache Airflow trên Raspberry Pi
Tự Động Hóa Các Tác Vụ Lặp Lại Trên Raspberry Pi: Tiềm Năng Vô Tận
Thay vì để các chương trình chạy ngầm hoặc tự tay chạy chúng, bạn có thể lên lịch và tự động hóa chúng dựa trên các tiêu chí như giờ, ngày trong tuần hoặc thậm chí cả tháng. Nếu bạn đang sử dụng Raspberry Pi mà không lên lịch các tác vụ, bạn đang bỏ lỡ một khía cạnh quan trọng làm cho bo mạch nhỏ này trở nên cực kỳ mạnh mẽ. Bạn có thể lên lịch các tác vụ như cập nhật thời tiết và gửi thông báo, tự động hóa việc cập nhật và nâng cấp hệ thống của mình, điều khiển đèn, lên lịch đọc nhiệt độ và độ ẩm, và nhiều hơn nữa. Danh sách các ứng dụng là vô tận.
Bạn đã từng sử dụng phương pháp nào để lên lịch tác vụ trên Raspberry Pi? Hãy chia sẻ kinh nghiệm của bạn trong phần bình luận dưới đây hoặc khám phá thêm các hướng dẫn công nghệ hữu ích khác trên camnangcongnghe.net!