systemctl
là một công cụ quản lý dịch vụ trong hệ thống Linux, nó là một phần của systemd, một hệ thống khởi động và quản lý tiến trình trên Linux. systemctl
cho phép bạn khởi động, dừng, khởi động lại, kiểm tra trạng thái và quản lý các dịch vụ (services) trên hệ thống Linux. Bạn có thể sử dụng systemctl
để quản lý các dịch vụ như Apache, MySQL, SSH, firewall, cron jobs, và nhiều hơn nữa. Công cụ này rất hữu ích để giúp quản lý và kiểm soát các tiến trình trên máy chủ Linux của bạn.
Để tạo một lệnh start bằng systemctl cho script của bạn, bạn cần thực hiện các bước sau:
1. Tạo một file service unit mới cho script của bạn trong thư mục /etc/systemd/system
. Ví dụ, bạn có thể tạo file có tên run_uptime.service
với nội dung như sau:
[Unit]
Description=Script to run uptime command
[Service]
Type=simple
ExecStart=/usr/local/bin/run_uptime
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Trong đó:
[Unit]
: mô tả về service.[Service]
: cấu hình cho service.[Install]
: xác định khi nào service sẽ được khởi động.
2. Tạo file giả lập là dịch vụ gì đó.
cat > /usr/local/bin/run_uptime << 'OEF'
#!/bin/bash
uptime > /root/uptime.txt
OEF
Ví dụ của mình là sử dụng lệnh uptime và ghi thông tin đó vào file uptime.txt ở thư mục root.
3. Lưu và đóng file run_uptime.service
, sau đó chạy lệnh sau để tải lại các file service unit:
sudo systemctl daemon-reload
4. Bây giờ, bạn có thể sử dụng systemctl để quản lý service unit mới của bạn. Ví dụ:
Để bắt đầu service:
sudo systemctl start run_uptime
Để dừng service:
sudo systemctl stop run_uptime
Để khởi động lại service:
sudo systemctl restart run_uptime
Để kiểm tra trạng thái của service:
sudo systemctl status run_uptime
Để tự động khởi động service khi hệ thống khởi động:
sudo systemctl enable run_uptime
Và bây giờ khi bạn chạy service “run_uptime” bạn sẽ nhận được 1 file uptime với thông tin uptime nằm ở thư mục root.
$ cat /root/uptime.txt
16:38:41 up 32 min, 2 users, load average: 0.00, 0.00, 0.00
Chúc bạn thành công!