1. 程式人生 > >34.任務計劃、chkconfig、systemd、unit、target

34.任務計劃、chkconfig、systemd、unit、target

任務計劃 chkconfig systemd unit target

一、linux任務計劃cron

cat /etc/crontab
技術分享圖片
crontab -u、 //指定用戶
-e //編輯
-l //查看
-r //刪除
格式:分 時 日 月 周 user command
每個用戶的任務計劃保存在文件/var/spool/cron/username
分範圍0-59,時範圍0-23,日範圍1-31,月範圍1-12,周1-7
可用格式1-5表示一個範圍1到5
可用格式1,2,3表示1或者2或者3
可用格式*/2表示被2整除的數字,比如小時,那就是每隔2小時
要保證服務是啟動狀態

 systemctl start crond.service   //啟動服務

技術分享圖片

技術分享圖片

  systemctl stop crond.service  //關閉服務

技術分享圖片

二、linux系統服務管理chkconfig
此工具在centos6之前使用,centos7之後已廢棄,

chkconfig --list   //列出所有服務

技術分享圖片
0 --關機狀態
1 --單用戶模式
2 --不帶圖形的多用戶模式(比3少nfs服務)
3 --不帶圖形的多用戶模式
4 --待定,暫時無用
5 --帶圖形的多用戶模式
6 --重啟狀態

ls /etc/init.d/

技術分享圖片

chkconfig --level 3 network off  //3級別的network服務關閉
 chkconfig --level 345 network off  //345級別的network服務關閉
 chkconfig --del network   //刪除network服務
 chkconfig --add network    //添加network服務

添加服務之前需要先將服務腳本放進 /etc/init.d/文件夾
三、systemd
此服務是centos7開始使用的系統服務管理機制
systemctl list-units --all --type=service //查看所有service服務
(空格向下翻頁)
load 反映設備定義是否正確加載
ACTIVE 激活狀態,
SUB 是否運行
幾個常用的服務相關的命令
systemctl enable crond.service //讓服務開機啟動(.service可以省略)
systemctl disable crond //不讓開機啟動
systemctl status crond //查看狀態
systemctl stop crond //停止服務

systemctl start crond //啟動服務
systemctl restart crond //重啟服務
systemctl is-enabled crond //檢查服務是否開機啟動
技術分享圖片

技術分享圖片
開機啟動的服務,會在/etc/systemd/system/multi-user.target.wants/crond.service 目錄下建立一個軟連接,關閉開機啟動後會刪除這個軟連接
四、unit

ls /usr/lib/systemd/system //系統所有unit,分為以下類型
service 系統服務
target 多個unit組成的組
device 硬件設備
mount 文件系統掛載點
automount 自動掛載點
path 文件或路徑
scope 不是由systemd啟動的外部進程
slice 進程組
snapshot systemd快照
socket 進程間通信套接字
swap swap文件
timer 定時器
unit相關的命令

systemctl list-units    //列出正在運行的unit
 systemctl list-units --all     //列出所有,包括失敗的或者inactive的
 systemctl list-units --all --state=inactive   //列出inactive的unit
 systemctl list-units --type=service   //列出狀態為active的service
 systemctl is-active crond.service    //查看某個服務是否為active

技術分享圖片
五、target

系統為了方便管理用target來管理unit
systemctl list-unit-files --type=target
技術分享圖片
systemctl list-dependencies multi-user.target //查看指定target下面有哪些unit
技術分享圖片
systemctl get-default //查看系統默認的target
技術分享圖片
systemctl set-default multi-user.target //設置系統默認的target
一個service屬於一種類型的unit
多個unit組成了一個target
一個target裏面包含了多個service
技術分享圖片 cat /usr/lib/systemd/system/sshd.service //看[install]部分

34.任務計劃、chkconfig、systemd、unit、target