九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
cron、chkconfig、systemd、unit、target

1、Linux 任務(wù)計劃 cron

先來看一下任務(wù)計劃的配置文件,輸入命令 cat /etc/crontab ,回車,見下圖,


重點是上圖第二個紅色框框的內(nèi)容,前面的五個“ ”,分別表示分鐘、小時、日期、月份、星期。user-name 表示用戶名,沒有的話默認(rèn)是 root ,command to be executed 表示要執(zhí)行的命令。
那么,怎么去定義任務(wù)計劃呢?輸入命令 crontab -e,回車,就會進(jìn)入到配置文件里,見下圖,

用法和 vim 是一樣的,按字母“i”進(jìn)入編輯模式,“Esc”退出編輯,“:wq”保存并退出, “:q”退出,“:q!”強制退出。
現(xiàn)在來講解一下任務(wù)計劃:
“0 3
”:表示每天的凌晨3點。表示所有的范圍。分鐘位就是0-59,小時位表示0-23,日期表示1-31,月份表示1-12,星期表示1-7。
“0 3 1-10 /2 2,5 ”:表示雙月1-10號的周二和周五凌晨3點。其中,月份這邊“/2”表示可以被2除,就是雙月的意思,小時這邊/2就表示每隔兩小時。
這邊沒有年份,是因為星期可以確定唯一性,每一年的月份和星期都不一樣。
0 3 1-10 /2 2,5 /bin/bash /usr/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log 這個任務(wù)計劃里,/bin/bash 表示用戶,/usr/local/sbin/123.sh 表示文件里面有個shell腳本,執(zhí)行里面的命令。>>/tmp/123.log 2>>/tmp/123.log 表示任務(wù)計劃的結(jié)果全部追加到文件 /tmp/123.log 里面。
任務(wù)計劃寫入完畢,保存并退出,還需要再啟用服務(wù),輸入命令 systemctl start crond,回車即可。然后再檢查一下服務(wù)有沒有啟動,輸入命令 ps aux |grep cron,回車就可以看到進(jìn)程。

還可以用命令 systemctl status crond,來查看狀態(tài),

如果是綠色的就表示已啟動,停用的話沒有顏色顯示。
注意事項:
shell腳本里面的命令要使用絕對路徑,否則會沒有執(zhí)行。
不在配置文件里面的PTAH中的命令就需要使用絕對路徑,還有一種方法就是將命令加入到配置文件的PTAH中。
最穩(wěn)妥的辦法還是直接寫絕對路徑比較好,PTAH里面的內(nèi)容不要去動。
寫任務(wù)計劃的時候,最好全部追加到一個日志文件里,正確和錯誤的輸出都要寫上,這樣才有據(jù)可查。
怎么備份?使用命令 crontab -l,可以看到任務(wù)計劃。crontab 的文件在 /var/spool/cron/ 目錄里,按用戶名分成多個文件,例如 root 用戶在 /var/spool/cron/root 里。這個文件里面的內(nèi)容就是命令 crontab -l 執(zhí)行結(jié)果列出的內(nèi)容。所以備份的話,直接復(fù)制這個文件就可以了。選項 -r 是刪除的意思。
總結(jié):
crontab -e 編輯
crontab -l 查看
crontab -r 刪除

2、chkconfig 工具

chkconfig 這個工具的應(yīng)用是在 CentOS6 及以前的版本,在CentOS7版本里面沒有使用了,但是為了跟之前的版本兼容,依然可以使用 chkconfig。
查看當(dāng)前系統(tǒng)使用 chkconfig 工具的服務(wù),輸入命令 chkconfig --list,回車,見下圖,


可以看到只有有兩個服務(wù)netconsole和network,那么其他的服務(wù)在哪里呢?注意閱讀上圖的注意內(nèi)容,大概意思就是CentOS6 及以前的版本使用的服務(wù)是基于SysV服務(wù),而在CentOS7版本里面使用的服務(wù)是基于systemd服務(wù)。
接著輸入命令 top 來查看,回車,見下圖,

可以看到systemd也有一個進(jìn)程,它的PID是1,說明這個進(jìn)程是很重要的。在CentOS6 及以前的版本中進(jìn)程PID為1的進(jìn)程的是init.d。
chkconfig 這個工具中僅剩的兩個服務(wù)netconsole和network,存在于文件 /etc/init.d/ 中,見下圖,

還有一個用法,關(guān)閉和開啟服務(wù)命令,具體操作見下圖,

上圖中可以看到,netconsole和network都有7個級別,其中networkd的2、3、4、5級別都是開啟的狀態(tài),使用命令 chkconfig network off 之后,就全部關(guān)閉了,使用命令 chkconfig network on 之后,又可以開啟。這7個級別分別表示:0 表示關(guān)機,1表示單用戶模式,2表示多用戶模式(不帶 圖形,少nfs服務(wù)),3表示多用戶模式(不帶圖形),4表示保留級別(暫時沒用),5表示多用戶模式(帶圖形),6表示重啟。在CentOS6 及以前的版本中才有這些級別之分,開機時定位在哪個級別,就會啟動哪個級別的模式?,F(xiàn)在的CentOS7版本就沒有這些級別之分了。在CentOS6 及以前的版本中,更改文件 /etc/inittab 可以去定義開機的運行級別, 輸入命令 vi /etc/inittab,回車,見下圖,

上圖顯示的是CentOS7版本的內(nèi)容,沒有7個級別之分。
可以指定某一個級別關(guān)閉,具體操作見下圖,

也可以指定某一級別開啟,見下圖,

這邊注意一下,0、1、6級別最好不要開啟。
可以把腳本加入到服務(wù)列表里面,現(xiàn)在來自定義一個服務(wù),見下圖,

這邊注意,添加的服務(wù)要在 /etc/init.d/ 目錄下,才可以添加成功。文件名稱隨意,但是文件格式有要求,輸入命令 vim 123,回車查看,見下圖,

刪除自定義服務(wù),輸入命令 chkconfig --del 123,回車,見下圖,

總結(jié):
chkconfig --list 列出所有的服務(wù)
chkconfig network off 關(guān)閉服務(wù)
chkconfig network on 開啟服務(wù)
chkconfig --level 3 network off 關(guān)閉3級別服務(wù)
chkconfig --level 45 network off 同時關(guān)閉4和5級別服務(wù)
chkconfig --add 123 將123服務(wù)添加到chkconfig工具里

3、systemd 管理服務(wù)

上面使用命令 chkconfig --list 查看時,提示我們使用命令 systemctl list-unit-files 查看,回車,見下圖,


內(nèi)容太多太亂,比較復(fù)雜,僅截圖最后的一屏。還有一個相對簡單點的命令,systemctl list-units --all --type=service,僅查看 service 文件,回車,見下圖,

使用空格鍵往下翻到最后一頁,見下圖,

有一些解釋和提醒,提醒查看所有的文件使用剛剛的命令 systemctl list-unit-files。
命令不加 all 的情況,見下圖,輸入命令 systemctl list-units --type=service,回車,

由上圖可以看出,該命令只列出了 active 狀態(tài)的文件,沒有列出 inactive 狀態(tài)的文件。
接下來介紹幾個常用的服務(wù)相關(guān)的命令。
systemctl enable crond.service 讓服務(wù)開機啟動,這邊的 .service 是可以省略的。
systemctl disable crond 禁止服務(wù)開機啟動
systemctl status crond 查看服務(wù)狀態(tài)

systemctl stop crond 停止服務(wù)
systemctl start crond 啟動服務(wù)
systemctl restart crond 重啟服務(wù)
systemctl is-enabled crond 檢查服務(wù)是否開機啟動

可以查看配置文件 /etc/systemd/system/multi-user.target.wants/crond.service 的內(nèi)容,它實際上是一個軟鏈接文件,見下圖,

接著關(guān)閉 crond 服務(wù),見下圖,

可以看到軟鏈接文件失效了,開啟服務(wù)之后,又重新創(chuàng)建了軟鏈接文件。

4、unit 介紹

上面的軟鏈接文件指向的原文件是 /usr/lib/systemd/system/crond.service ,使用命令 cat /usr/lib/systemd/system/ ,回車,進(jìn)入查看,見下圖,




這個路徑下有很多類型的文件和目錄,這些文件都叫 unit 。
主要有以下幾種類型:
service 系統(tǒng)服務(wù)
target 多個unit組成的組
device 硬件設(shè)備
mount 文件系統(tǒng)掛載點
automount 自動掛載點
path 文件或路徑
scope 不是由systemd啟動的外部進(jìn)程
slice 進(jìn)程組
snapshot systemd 快照
socket 進(jìn)程間通信套接字
swap swap文件
timer 定時器
接著進(jìn)入 /usr/lib/systemd/system/ 目錄下,查看 runlevel,見下圖,

上圖可以看出,CentOS7這邊也有7個運行級別,分別是0-6的target軟鏈接文件,指向的是后面的路徑。這7個運行級別,與CenOS6及之前的版本,基本上都可以對應(yīng)起來。
接著來看一下,unit的幾個相關(guān)命令,

列出正在運行的unit,輸入命令 systemctl list-units,回車,見下圖,

內(nèi)容比較多,而且亂,截取最后一屏,可以看到有119個正在運行。
想要查看全部的unit,輸入命令 systemctl list-units --all,回車,見下圖,

同樣截取最后一屏,可以看到一共是有231個unit。所有列出來的unit中,包括失敗的或者inactive的。
我們還可以指定unit的狀態(tài),來列出結(jié)果,輸入命令 systemctl list-units --all --state=inactive,回車,見下圖,

還可以列出狀態(tài)為 active 的 service,輸入命令 systemctl list-units --type=service,回車,見下圖,

上圖中,failed 狀態(tài)的也列出來了,這是一個特例。輸入命令 systemctl list-units --type=service --state=active,回車,見下圖,

就看不到 failed 狀態(tài),全部都是 active 的 service。輸入命令 systemctl list-units --all --type=service,回車,見下圖,

就能看到全部狀態(tài)的 service。
接著查看某個服務(wù)是否為 active ,輸入命令 systemctl is-active crond.service,回車,見下圖,

5、target 介紹

使用命令 systemctl list-unit-files --type=target,可以列出系統(tǒng)里的所有 target ,見下圖,


查看指定 target 下面有哪些 unit,輸入命令 systemctl list-dependencies multi-user.target,回車,見下圖,

大部分都是 service ,少部分 socket、mount、path等。做個對比,輸入命令 systemctl list-dependencies rescure.target,回車,見下圖,

還可以查看系統(tǒng)默認(rèn)的 target ,輸入命令 systemctl get-default,回車,見下圖,

這邊更改 target 類型,可以更改開機的啟動級別,類似CentOS6及以前版本的更改配置文件來實現(xiàn)更改運行級別。設(shè)置默認(rèn)的 target ,輸入命令 systemctl set-default multi-user.target,回車,見下圖,

上圖中,文件 /etc/systemd/system/default.target 就是一個軟鏈接文件,見下圖,

unit 和 service 的關(guān)系如下:
一個 service 屬于一種類型的 unit
多個 unit 組成了一個 target
一個 target 里面包含了多個 service
接著來查看一下 ssh.service 屬于哪一個 target,輸入命令 cat /usr/lib/systemd/system/sshd.service,回車,見下圖,

重點關(guān)注上圖紅色框框的位置,可以看到 ssh.service 屬于 multi-user.target 。也可以查看crond.service ,見下圖,

總結(jié):

cat /etc/crontab 查看任務(wù)計劃的配置文件
user-name command to be executed ” 五個“ ”分別表示分鐘、小時、日期、月份、星期,user-name 表示用戶名,沒有的話默認(rèn)是 root ,command to be executed 表示要執(zhí)行的命令。
crontab -e 進(jìn)入配置文件,輸入命令行保存退出
0 3 1-10 星/2 2,5 /bin/bash /usr/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log 這個任務(wù)計劃里,/bin/bash 表示用戶,/usr/local/sbin/123.sh 表示文件里面有個shell腳本,執(zhí)行里面的命令。>>/tmp/123.log 2>>/tmp/123.log 表示任務(wù)計劃的結(jié)果全部追加到文件 /tmp/123.log 里面。
systemctl start crond 重啟服務(wù)
ps aux |grep cron 檢查進(jìn)程
systemctl status crond 查看狀態(tài)
crontab -e 編輯
crontab -l 查看
crontab -r 刪除

chkconfig --list 查看當(dāng)前系統(tǒng)使用 chkconfig 工具的服務(wù)
chkconfig network off 關(guān)閉服務(wù)
chkconfig network on 開啟服務(wù)
chkconfig --level 3(或345) network off 關(guān)閉指定的一個或多個級別服務(wù)
chkconfig --level 3(或345) network on 開啟指定的一個或多個級別服務(wù)
cd /etc/init.d/
cp network 123 這兩步操作為下面的增加或刪除自定義服務(wù)做準(zhǔn)備
chkconfig --add 123 增加自定義服務(wù)
chkconfig --del 123 刪除自定義服務(wù)

systemctl list-unit-files 查看所有的unit服務(wù)
systemctl list-units --all --type=servic 僅查看 service 類型的服務(wù)
systemctl list-units --type=service 只列出 active 狀態(tài)的文件
systemctl enable crond.service 讓服務(wù)開機啟動,這邊的 .service 是可以省略的。
systemctl disable crond 禁止服務(wù)開機啟動
systemctl status crond 查看服務(wù)狀態(tài)
systemctl stop crond 停止服務(wù)
systemctl start crond 啟動服務(wù)
systemctl restart crond 重啟服務(wù)
systemctl is-enabled crond 檢查服務(wù)是否開機啟動

systemctl list-units 列出正在運行的unit
systemctl list-units --all 列出所有,包括失敗的或者inactive的
systemctl list-units --all --state=inactive 列出指定狀態(tài)inactive的unit
systemctl list-units --type=service 列出指定狀態(tài)service的unit,failed 狀態(tài)也會出現(xiàn)
systemctl list-units --type=service --state=active 僅列出指定狀態(tài)service的unit
systemctl list-units --all --type=service 列出全部狀態(tài)的 service
systemctl list-units --type=service 列出狀態(tài)為active的service
systemctl is-active crond.service 查看某個服務(wù)是否為active

systemctl list-unit-files --type=target 列出系統(tǒng)里的所有 target
systemctl list-dependencies multi-user.target 查看指定 target 下面有哪些 unit
systemctl get-default 查看系統(tǒng)默認(rèn)的 target
systemctl set-default multi-user.target 設(shè)置默認(rèn)的 target
cat /usr/lib/systemd/system/sshd.service 查看 ssh.service 屬于哪一個 target
unit 和 service 的關(guān)系如下:
一個 service 屬于一種類型的 unit
多個 unit 組成了一個 target
一個 target 里面包含了多個 service

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
systemctl使用指南:Centos 7.x systemd對比Centos 6.x daemon
CentOS linux7 設(shè)置開機啟動服務(wù)
centos5,6 系統(tǒng)啟動流程
linux 基礎(chǔ)知識
systemd詳解(CentOS 7)
CentOS 7 巨大變動之 systemd 取代 SysV的Init
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服