內容選單標籤

2017年4月25日 星期二

ch14 系統服務與排程



服務 service 是背景執行的程式,通常會占用一個埠號,等待外部連線要求。Linux的服務通稱為Daemon,所以其服務名稱通常以d 結尾,如:httpd。
Linux 以新一代系統服務管理 systemd 取代 init。
常見系統管理使用的服務:
atd.service                           //一次性的工作排程服務
crond.service                      //週期性的工作排程服務
NetworkManager.service   //動態網路連線設定管理
network.target                    //固定式網路管理服務
sysinit.target                      //系統啟動
quotacheck.service            //磁碟配額檢查服務
syslog.service                    //系統日誌管理服務
sendmail.service               //電子郵件伺服器服務
smartd.service                  //磁碟健康狀態回報服務
sshd.service                      //加密遠端登入服務
httpd.service                     //網頁伺服器服務
cups.socket                      //列印伺服器服務

服務分為:
.service
在背景持續執行並等待的服務,能快速提供服務,但較耗費系統資源。適合快速且連線數龐大的服務,如:httpd.service

.socket
通訊埠有客戶端連線時才啟動的服務,速度相對較慢,但不耗費系統資源。適合不須快速且連線數較少的服務,如:cups.socket


# ls /usr/lib/systemd/          //此目錄放置的是systemd執行檔
catalog                systemd-coredump           systemd-shutdown
ntp-units.d            systemd-cryptsetup         systemd-shutdownd
...


//此目錄放置的是系統重要的Unit服務與Target設定檔及與系統啟動相關的服務
# ls /usr/lib/systemd/system    
arp-ethers.service                      remote-fs-pre.target
auditd.service                          remote-fs.target
...

systemctl   [選項]   命令   服務對象名稱 

常用命令:
start                        啟動服務
stop                        停止服務
restart                     重啟服務
enable                     開機啟動
disable                    開機不啟動
status                      服務目前狀態



-------------------------------------------------------

Linux 系統服務類型:
1. Standalone獨立服務
無論有無客戶要求,常駐系統背景,占用一定程度的系統資源,目的是為了在最短時間提       供客戶要求。如:httpd、sendmail、named...  

2. xinetd總管服務
有些服務不是常有客戶要求,就可以將這些服務註冊在一個總管型的服務xinetd。只要該服   務的port有客戶提出要求,xinetd這個常駐服務在負責將該服務啟動,當客戶要求處理完畢,再將該服務從系統中移除,以保系統資源的最佳狀況。如:telnet、tak...
CentOS預設已不安裝 xinetd套件。




-------------------------------------------------------
系統排程
CentOS安裝完成後,開機會自動啟動 crond 服務,crond負責每分鐘讀取排程設定檔:
/etc/crontab

# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |    .------------- hour (0 - 23)
# |    |   .---------- day of month (1 - 31)
# |    |   |   .------- month (1 - 12) OR jan,feb,mar,apr ...
# |    |   |   |   .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |    |   |   |   |
# *  *  *  *  * user-name  command to be executed







沒有留言:

張貼留言