目錄序言
服務建立
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運維服務管理體系的實體包括運維服務管理物件 運維活動角色及運維管理組織結構 運維服務管理流程 運維服務支...