当前位置: 首页 > article >正文

[Linux]如何將腳本(shell script)轉換到系統管理服務器(systemd service)來運行?

[InfluxDB]Monitor Tem. and Volt of RaspberryPi and Send Message by Line Notify

在Linux中,shell腳本(shell script)常用於運行各種自動化的流程,包含API串接,設置和啟動應用服務等等,腳本語法也相對易學易讀,因此頗受大部分使用者的喜愛。但若需要讓shell腳本能長期穩定運行,則建議將shell腳本轉換到系統管理服務器(systemd service)來運行,將有下列幾個優點,使得該服務的運作可有效被systemd管理。

1.Linux系統啟動後,可自動啟動。
2.服務異常退出後,可自動重啟。
3.透過journalctl集中管理該服務的日誌(log),可用於問題測試和偵錯。

上述影片即是一個實際案例,其利用shell腳本將樹莓派的溫度和電壓數值以固定週期傳到influxdb中,同時若溫度過高或電壓過低,則會藉由line notify發出提醒訊息,期望藉由該服務長期監控樹莓派的運作是否穩定,若有異常進程導致溫度過高或電壓過低,則可立刻查閱日誌並及時處理。話不多說,一起來看看如何將該shell腳本轉換到systemd service中。

a.利用nano新增systemd文件
sudo nano /etc/systemd/system/pi_tem_vol_detec.service
b.在該文件中,寫入下列內容
[Unit]
Description=Script to monitor Raspberry Pi voltage and temperature
After=network.target

[Service]
Type=simple
ExecStart=/your_path/pi_tem_vol_detec.sh

[Install]
WantedBy=multi-user.target

其中 /your_path/pi_tem_vol_detec.sh為shell腳本置放的路徑,完成後,儲存該文件並退出。

c.設定該文件的權限,並重新載入systemd,以添加該服務
sudo chmod 644 /etc/systemd/system/pi_tem_vol_detec.service
sudo systemctl daemon-reload
d.啟動該服務(pi_tem_vol_detec.service),並查看狀態
sudo systemctl start pi_tem_vol_detec
sudo systemctl status pi_tem_vol_detec
e.進一步將該服務設定為,開機時自動啟動
sudo systemctl enable pi_tem_vol_detec


http://www.kler.cn/a/530207.html

相关文章:

  • 大模型综合性能考题汇总
  • 高清种子资源获取指南 | ✈️@seedlinkbot
  • WebForms SortedList 深度解析
  • python-leetcode-相同的树
  • Python 梯度下降法(七):Summary
  • Dijkstra算法解析
  • Hive之数据定义DDL
  • UE5 蓝图学习计划 - Day 7:摄像机与视角控制
  • 【爬虫】JS逆向解决某药的商品价格加密
  • 广度优先搜索算法笔记
  • 政务行业审计文件大数据高速报送解决方案
  • 跨越通信障碍:深入了解ZeroMQ的魅力
  • deep seek R1本地化部署及openAI API调用
  • 别做太远的规划
  • nodejs:express + js-mdict 网页查询英汉词典,能播放声音
  • 【数据分析】案例03:当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib)
  • 【小鱼闪闪】做一个物联网控制小灯的制作流程简要介绍(图文)
  • OpenAI开源战略反思:中国力量推动AI产业变革
  • 【漫话机器学习系列】076.合页损失函数(Hinge Loss)
  • 【算法-位运算】位运算遍历 LogTick 算法
  • 基于机器学习鉴别中药材的方法
  • python小知识-jupyter lab
  • 海外问卷调查渠道查,具体运营的秘密
  • 【leetcode100】路径总和Ⅲ
  • DS常识问答:人民币升值贬值是什么回事
  • w188校园商铺管理系统设计与实现