Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
systemd là trình quản lý service cho nhiều bản phân phối Linux nổi tiếng. Service là một đơn vị của chương trình thường chạy trong nền. Về bản chất, các service sẽ tự động chạy ngay khi hệ thống khởi động và có thể hoạt động mà không cần giám sát.
Nếu cần tạo một tác vụ hoặc chương trình tự động bắt đầu thực thi mỗi khi bạn khởi động hoặc khởi động lại hệ thống của mình, bạn có thể cân nhắc tạo một service mới. Hãy tìm hiểu cách tạo một service systemd mới, tùy chỉnh trên Linux.
Có một số bước cần thiết để tạo file service systemd mới. Việc đầu tiên là tạo file unit cho service. Trước khi tạo một file service, bạn phải hiểu cấu trúc của nó.
Hãy nghiên cứu file service bằng cách lấy một file service thực, đang hoạt động từ hệ thống Linux của bạn. Bên dưới, bạn có thể xem file service cho service daemon vmtools.
Service cụ thể này có thể không có trên hệ thống của bạn trừ khi bạn cũng đang chạy Linux trên VMware có cài đặt các công cụ VMware. Service được đề cập không quan trọng vì tất cả các service, hay đúng hơn là những file unit service, có cùng cấu trúc cơ sở với một số tùy chỉnh theo yêu cầu.
Tất cả các file service systemd phải có 3 phần: [Service], [Unit] và [Install] và một vài tham số trong mỗi phần. Đây là những gì mỗi phần chứa và tại sao chúng lại quan trọng:
Phần Unit bao gồm siêu dữ liệu quan trọng như mô tả và các dependency của service. Nó có 3 tham số: Description, Before và After. Tương tự như vậy, tham số Description cung cấp một số ngữ cảnh của service và chức năng của nó.
Các tham số Before và After xác định những điều kiện cần đáp ứng để service thực thi. Ví dụ, nếu bạn đang bắt đầu một service web server, bạn sẽ muốn nó chỉ bắt đầu sau khi service mạng trực tuyến. Vì vậy, bạn sẽ đặt giá trị của tham số After cho service mạng.
Phần Service chứa hai tham số bắt buộc: ExecStart, Type và một vài tham số tùy chọn khác như ExecReload, v.v...
ExecStart xác định lệnh sẽ được thực thi khi service bắt đầu, trong khi tham số Type xác định loại tiến trình sẽ xuất hiện.
Phần này và dữ liệu của nó được gọi bất cứ khi nào bạn bật hoặc tắt service bằng lệnh systemctl.
Nó có một vài tham số. Một trong những cái phổ biến và cần thiết là WantedBy. Tham số WantedBy xác định các đơn vị mục tiêu sẽ bắt đầu bất cứ khi nào service được bật. Giá trị mặc định là multi-user.target.
Lưu ý: Các tham số được đề cập ở đây không phải là những tham số duy nhất bạn có thể đặt trong file unit. Bạn có thể lấy danh sách đầy đủ các tham số từ tài liệu systemd.exec chính thức hoặc bằng cách nhập man systemd.exec trong một terminal.
File unit service systemd luôn kết thúc bằng phần mở rộng ".service" và phải được lưu trữ trong thư mục /etc/systemd/system/. Tạo file service bằng lệnh touch với các đặc quyền nâng cao bằng cách thêm tiền tố vào nó bằng lệnh sudo:
sudo touch /etc/systemd/system/<filename>.service
Bây giờ bạn đã tạo file service, hãy bắt đầu điền cú pháp cần thiết để làm cho service hợp lệ và hoạt động.
Bạn sẽ tạo một service mẫu thực thi Nmap để quét các cổng trên máy và lưu kết quả đầu ra trong một file 30 giây một lần. Để đạt được nhiệm vụ này, đây là cách cấu trúc file unit service:
[Unit]
Description=Demonstration of custom nmap service.
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/nmap -sS -O -oN /home/<user>/results.txt localhost
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
Mặc dù các tham số được đề cập đã được giải thích trước đây, nhưng hãy tìm hiểu xem chúng ảnh hưởng như thế nào đến service mới tạo và cũng khám phá những tham số mới được giới thiệu trong phần này: Restart, RestartSec và User.
Dưới đây là ý nghĩa của các tham số trong mỗi phần:
Bây giờ, bạn đã tạo file unit, các bước duy nhất còn lại là kích hoạt và chạy service. Bạn có thể kích hoạt và bắt đầu service của mình bằng lệnh systemctl.
Đây là cách sử dụng systemctl để bật, bắt đầu và kiểm tra trạng thái service của bạn:
sudo systemctl enable <filename>.service
sudo systemctl start <filename>.service
sudo systemctl status <filename>.service
Bây giờ, service tùy chỉnh của bạn sẽ được thiết lập và chạy! Trong trường hợp này, bạn sẽ thấy quá trình quét Nmap chạy 30 giây một lần và đầu ra được lưu trữ trong file results.txt trong thư mục home.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn