Sử dụng systemd để chỉnh sửa service Linux

Tram Ho

Trong một vài năm gần đây, Linux và các distribution của nó dần chuyển đổi qua việc sử dụng systemd làm init system. Bài viết này sẽ giới thiệu về các command của systemd và tạo 1 service và run nó với systemctl.

Basic Unit Management

Systemd quản lý các Unit . Unit có 12 loại khác nhau, nhưng loại thường sử dụng phổ biến nhất là service.

Để quản ly service trong Linux, chúng ta sử dụng tool systemctl

Start service

Stop service

Restart service

Reload service

Mặc định thì các service trong linux không được tự động bật khi start hệ điều hành. Để làm điều đó thì cần phải enable service

Disable service

Getting an Overview of the System State

Chúng ta có thể xem được thông tin của cá unit với systemctl

  • List các units files được systemd list là “active”

io

  • List các unit files được load vào memory nhưng hiện tại chưa active

  • List các unit files chưa load vào memory

Unit States and Logs

Để xem trạng thái của các service unit có thể sử dụng status option của systemctl

Để xem tất cả các entry nhật kí của unit

Nếu chỉ muốn list những entries của phiên boot hiện tại, thêm option -b

Inspecting Units and Unit Files

Hiện tại chúng ta đã biết cách chỉnh state của unit bằng cách start hoặc stop service thông qua systemctl.

Unit file có chứa các parameter mà systemd sử dụng để quản lý và chạy unit.Để xem full thông tin của nó:

Để xem các các unit cần chạy khi khởi đọng nginx

show recursive

Cuối cùng, để xem các thông tin cụ thể low level của unit settings (giá trị của các parameter được quản lý bởi systemd)

Modify unit file

Chúng ta có thể sửa unit file mà ko cần phải vào tận trong thư mục để tìm

Append thêm option vào unit file

Sửa trực tiếp toàn bộ nội dung file

Reload lại systemd sau khi sửa

Use Systemd to start service at boot

Chúng ta sẽ thử tạo 1 custom service, run nó khi boot với systemd

File service sẽ run shell script sau

Copy file script vào thư mục bin

Tạo unit file (để xem full các option có thể tham khảo https://www.freedesktop.org/software/systemd/man/systemd.service.html)

  • Start & see status

  • Enable service on boot

https://www.linode.com/docs/guides/start-service-at-boot/

https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and-the-journal

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo