Để quản lý các dịch vụ (service) trên Linux, Linux sử dụng 1 công cụ có tên là systemd. Trong bài viết này chúng ta sẽ tìm hiểu về systemd và cách systemd quản lý các dịch vụ.
systemd là gì?
systemd là 1 công cụ (System Tool) của Linux được phát triển bởi nhóm Red Hat. Nó bao gồm nhiều tính năng, bao gồm một hệ thống bootstrapping được sử dụng để khởi động và quản lý các tiến trình (processes) trong hệ thống. Nó hiện là hệ thống khởi tạo mặc định trên hầu hết các bản phân phối Linux.
Một số dịch vụ (services) phổ biến như SSH, Apache đều đang sử dụng systemd để khởi động và quản lý dịch vụ.
Hướng dẫn tạo 1 custom systemd service
Tạo 1 service
Trong bài viết này mình sẽ hướng dẫn các bạn tạo 1 systemd để quản lý 1 service có tên là myservice tại đường dẫn /usr/bin/myservice
Chúng ta sẽ tạo service myservice bằng Shell Script như sau:
DATE=`date '+%Y-%m-%d %H:%M:%S'` echo "VinaSupport service started at ${DATE}" | systemd-cat -p info while : do echo "Looping..."; sleep 1; done
Sau đó cấp quyền thực thi cho nó
sudo chmod +x /usr/bin/myservice
Kiểm tra hoạt động của service
Tạo systemd service
Giờ chúng ta tạo 1 systemd service có tên là myservice.service tại đường dẫn: /lib/systemd/system/myservice.service
[Unit] Description=MyService systemd service. [Service] Type=simple ExecStart=/bin/bash myservice [Install] WantedBy=multi-user.target
Sau đó copy nó tới /etc/systemd/system và cấp quyền
sudo cp myservice.service /etc/systemd/system/ sudo chmod 644 /etc/systemd/system/myservice.service
Quản lý systemd service
Vậy là ta đã tạo ra 1 systemd service là myservice.service, chúng ta sử dụng systemctl command để quản lý service
Khởi động / dừng service
sudo systemctl start myservice.service sudo systemctl stop myservice.service
Kiểm tra trạng thái service
sudo systemctl status myservice.service
Kích hoạt / Vô hiệu hóa khởi động cùng HDH
sudo systemctl enable myservice.service sudo systemctl disable myservice.service
Nguồn: vinasupport.com