Hướng dẫn tạo Linux service với systemd

Hướng dẫn​​ Creating a Linux service with systemd

 

Trong bài hướng dẫn này tôi sẽ giới thiệu cách tạo 1 services trên Linux system. sử dụng service sẽ rất tiện trong việc start, stop, restart services. hoặc có thể tự khởi động service khi add vào rc.local

#https://medium.com/@benmorel/creating-a-linux-service-with-systemd-611b5c8b91d6

 

Bước 1:Tạo​​ script​​ của​​ service

vi /opt/script/ping.sh

 

#paste

ping -c 5 -i 0.5 1.1.1.1

traceroute 1.1.1.1

Bước 2: Tạo services

vi​​ /etc/systemd/system/ping1.service

 

[Unit]

Description=ping1 demo service

After=network.target

StartLimitIntervalSec=0

[Service]

Type=simple

Restart=always

RestartSec=1

User=root

ExecStart=/usr/bin/env /opt/script/ping.sh

 

[Install]

WantedBy=multi-user.target

 

 

systemctl start ping1.services

systemctl enable​​ ping1.services

 

Chuyển qua 1 màn hình thứ 2 để kiểm tra

 

Lưu ý​​ 1:​​ 

Do RestartSec=1

Nên cứ 1 giây thì service sẽ tự động chạy 1 lần. các bạn có thể chủ động thay đổi các tham số theo từng trường hợp.

 

Lưu ý​​ 2:

After=network.target

#Nghĩa là chỉ sau khi khởi động xong network thì script này mới chạy.

#Có thể cấu hình: After=haproxy.service

Restart=always

#You could also use on-failure to only restart if the exit status is not 0.

#By default, systemd attempts a restart after 100ms. You can specify the number of seconds to wait before attempting a restart, using:

RestartSec=1

 

Lưu ý 3:

Ngay cả khi cấu hình thời gian restart service rất ngắn, nhưng chỉ khi thực hiện xong thao tác trong service thì service mới tiếp tục thực hiện lại khi thời gian restart rất ngắn.

 

Chúc các bạn thành công.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SaKuRai

Xin chào, Mình là Sakurai. Blog này là nơi để note lại và chia sẻ những kiến thức, kinh nghiệm mà mình và anh em trong Team. Cảm ơn các bạn đã quan tâm theo dõi!

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *