Header Ads Widget

Ticker

6/recent/ticker-posts

Hướng dẫn tạo và chạy file Script như là một services cho Linux

Keyword: How to create services from file script, run script as services for Ubuntu Linux, Debian
Hôm nay tạm mượn cái server của thằng em trong công ty để hướng dẫn cho các bạn cái vấn đề này luôn, bởi lẽ nó cũng có đầy trên mạng rồi nhưng thấy nó làm mình mới chợt nhớ là bài này mình chưa viết, đâm ra lại có cớ viết bài cho các bạn xem đây
Tại đây mình sẻ lấy ví dụ luôn là service pub_server.service mà nó đã tạo ở trên quang trọng là file này thôi, nhưng trước đó ta phải quay trở lại vấn đề cái
Hiện tại ở đây là môi trường Pub Server mà team mình dựng lên, để chạy được Pub ta cần phải bấm câu lệnh
"dart /root/localrepo-dart/pub_server/example/example.dart -d /root/data"
Nhưng khi chạy câu lệnh này mình không được phép tắt terminal vì thế cần phải tạo 1 con script ở phía trên tên là pub_server với nội dung như sau
và biến nó thành 1 services để run script mà không cần dùng terminal để nhập câu lệnh nữa, để làm đều này chúng ta sẻ truy cập vào và tạo file pub_server.service
cd /etc/systemd/system/ sudo vi pub_server.service và chèn như sau vào trong file service
[Unit]
Description=Local repo flutter
[Service]
User=root
# The configuration file application.properties should be here:
#change this to your workspace
WorkingDirectory=/root/localrepo-dart/pub_server
#path to executable. 
#executable is a bash script which run server
ExecStart=/root/localrepo-dart/pub_server/pub_server
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Chúng ta chỉ cần biết mốt số phần quang trọng như sau
  1. Description: miêu tả service
  2. User: User để chạy service là gì
  3. WorkingDirectory: môi trường chạy service
  4. ExecStart: trỏ đến con script của chúng ta, nên nhớ con script này không có chấm gì cả chỉ là 1 đoạn script bình thường như trên hình mình đã chụp thôi nhé.
Ok bây giờ các bạn có thể start lên như là một service bình thường thử xem sao, ta thực hiện các câu lệnh sau nhé
cd /etc/systemd/system/
sudo update-rc.d pub_server defaults
sudo systemctl enable pub_server
sudo service pub_server start
Nếu như trong quá trình bạn chạy lệnh update-rc.d mà nó báo lỗi không thể đọc file tại /etc/init.d thì đừng vọi nản chí, hãy copy con script của chúng ta tại thư mục chứa script và bỏ vào /etc/init.d như vậy là nó sẻ không thông báo lỗi trên nữa.
Chúc các bạn thành công.
Nguồn: itblognote.com

Post a Comment

0 Comments