CentOS服務建立與維護例項

2021-10-13 07:12:45 字數 2765 閱讀 1220

目錄序言

服務建立

1、服務**

2、服務配置

服務維護

1、常用操作指令

(1)服務啟動

(2)服務停止

(3)服務重啟

(4)檢視服務狀態

(5)服務reload

2、設定開機啟動

(1)檢視服務開機啟動狀態

(2)設定開機啟動

linux服務可以在後台執行,操作標準化(start,stop,reload等統一操作,用systemctl進行調控),可開機自動執行,運維人員維護會相對簡便,對於一些需要長期穩定執行的程式,則適合把它做成服務的形式。這裡以乙個定期清理docker映象的場景為例,說明如何在centos7中建立服務並執行。

服務完成這樣乙個任務,每隔30秒,檢查一下docker映象是否有包含「"版本的映象(老的版本,可以廢棄),如找到則清理該映象。

同時,將操作日誌寫入monitor.log檔案,以便檢視任務所做的操作。

# ! /bin/bash

logfile="/home/test/monitor.log"

pidfile="/home/test/pid"

echo > $logfile

while true

do none_num=`docker images | grep "" | grep -v grep | wc -l`

if [ $none_num -gt 0 ]

then

now=`date "+%y-%m-%d %h:%m:%s"`

echo "[$now] found images" >> $logfile

docker images | grep "" | awk '' | xargs docker rmi >> $logfile 2>&1

else

now=`date "+%y-%m-%d %h:%m:%s"`

echo "[$now] not found images" >> $logfile

fi sleep 30

done

在/usr/lib/systemd/system目錄,建立服務配置檔案。這裡取名為helloworld服務,看起來更親切。服務配置檔案名為:helloworld.service。

[unit]

description=service hello world

documention=

after=

[service]

type=forking

pidfile=/home/test/pid

execstartpre=

execstart=/bin/bash -c "nohup /home/test/test.sh &"

esecreload=/bin/bash -c "echo > /home/test/monitor.log"

execstop=/bin/kill -s quit $mainpid

[install]

wantedby=multi-user.target

這裡說明幾個關鍵引數的含義:

pidfile: 服務程序的id檔案,可以不填,如果填了,服務程式要生成該pid檔案,否則服務將不能啟動。

execstart:服務啟動命令,需要用全路徑,這裡使用bash啟動服務程式指令碼,並使用nohup和 &指令讓程式在後台執行。

execreload:服務執行reload命令時呼叫的命令。這裡設定的操作為,執行reload時,清空監控檔案中的內容。

execstop: 服務停止命令,使用kill向服務程序發出quit指令。$mainpid指服務程序id。

systemctl start helloworld

systtemctl stop helloworld

systemctl restart helloworld

注:相當於stop和stop2個命令的合集,如果服務未啟動,則啟動;如已啟動,則關閉後再啟動。

systemctl status helloworld

注:可以檢視服務執行是否正常。

systemctl reload helloworld

systemctl deamon-reload

注:在服務配置檔案(helloworld.service)修改後,需要執行該命令使配置生效。

systemctl list-unit-files | grep helloworld

可以看到,helloworld狀態為disabled狀態

chkconfig --level 3 helloworld on

再執行systemctl list-unit-files | grep helloworld命令時,可以發現開機啟動狀態變為enabled了。

在機器重啟後,該服務會自動啟動(可以用systemctl status helloworld命令檢視)。

另外相同功能的命令:systemctl enable helloworld。

注意:服務一定要除錯好後再設定開機啟動,否則,可能會導致系統啟動失敗。

centos7 Mariadb建立多例項

為了對mycat做實驗,於是建立多例項mariadb,做以下筆記 建立多例項資料庫資料夾 root linux node1 mkdir home multimysql root linux node1 mkdir home multimysql root linux node1 mkdir home...

伺服器安全與維護 一

應了那句 奪天下難,守天下更難 的話,伺服器的維護就好比 守天下 稍亂分寸即會使整個網路陷入癱瘓。服務區德維護又可以分為硬體維護和軟體維護兩種,同時,維護伺服器又需要對伺服器的硬體系統 作業系統 應用軟體系統有比較深入的認識。硬體維護跟軟體具有同等重要的地位。讀者朋友們一定要在心頭對伺服器乃至整個網...

伺服器的運營與維護

it運維服務管理體系規定了it運維活動涉及的各類實體,以及這些實體間的相互關係。相關的實體按照 it運維服務管理體系進行有機組織,並協調工作,按照服務協議要求提供不同級別的it運維服務。組成 it運維服務管理體系的實體包括運維服務管理物件 運維活動角色及運維管理組織結構 運維服務管理流程 運維服務支...