作业调度与系统日志
????????????????????????????????????????????????????????作業(yè)調(diào)度與系統(tǒng)日志
功能:crond、atd與anacron三個(gè)重要的守護(hù)進(jìn)程,負(fù)責(zé)調(diào)度各種定時(shí)運(yùn)行的后臺(tái)作業(yè)。
crontab文件主要用于提交重復(fù)執(zhí)行的任務(wù),at命令則僅僅用于提交一次性執(zhí)行的任務(wù)。
crontab文件以及工作原理
????? 功能:通常均存儲(chǔ)在/etc/cron.d目錄中,此外,用戶也可以創(chuàng)建自己的注冊(cè)用戶名命名的crontab文
件,以便調(diào)度運(yùn)行自己的各種處理任務(wù)。用戶創(chuàng)建的crontab文件均位于/var/spool/cron目錄中。
????? 原理:cron守護(hù)進(jìn)程啟動(dòng)以后,它將首先檢查是否用戶設(shè)置了crontab文件。cron守護(hù)進(jìn)程首選會(huì)搜
索/var/spool/cron目錄,尋找以/etc/passwd文件中的用戶名命名的crontab文件,被找到的這種文件將載入
內(nèi)存。例如一個(gè)用戶名為user的用戶,它所對(duì)應(yīng)的crontab文件就應(yīng)該是/var/spool/cron/user。也就是說(shuō),
以該用戶命名的crontab文件存放在/var/spool/cron目錄下面。cron守護(hù)進(jìn)程還將搜索/etc/crontab文件。由于
cron守護(hù)進(jìn)程沒有發(fā)現(xiàn)相應(yīng)的crontab文件時(shí)就轉(zhuǎn)入“休眠”狀態(tài),釋放系統(tǒng)資源,cron守護(hù)進(jìn)程每分鐘
喚醒一次,當(dāng)crontab中的時(shí)間和日期與系統(tǒng)的當(dāng)前時(shí)間和日期相同時(shí),就執(zhí)行相應(yīng)的crontab任務(wù)。
crontab任務(wù)之行結(jié)束后,任何輸出都將作為郵件發(fā)送給安排crontab任務(wù)的所有者,或者是/etc/crontab文
件中MAILTO環(huán)境變量中指定的用戶。
?????? 1) 利用crontab文件,可以按時(shí)、按日、按周或按月調(diào)度執(zhí)行各種日常的系統(tǒng)管理,是系統(tǒng)能夠在指
定的時(shí)間重復(fù)執(zhí)行等維護(hù)任務(wù)。
??????2 )利用crontab執(zhí)行其他日常的系統(tǒng)管理與維護(hù)任務(wù),定時(shí)備份數(shù)據(jù)庫(kù)中的重要數(shù)據(jù)等。
1.調(diào)度重復(fù)執(zhí)行的任務(wù)
???????crond 是Linux系統(tǒng)中的主要作業(yè)調(diào)度程序,負(fù)責(zé)調(diào)度執(zhí)行所有的系統(tǒng)服務(wù);怎樣的創(chuàng)建、編輯、顯
示和刪除crontab文件,如何實(shí)現(xiàn)定期、定時(shí)、自動(dòng)執(zhí)行系統(tǒng)的日常管理與例行維護(hù)任務(wù),以及怎樣控
制對(duì)crontab文件的訪問
格式 crontab [選項(xiàng)]
???? -e? 創(chuàng)建并編輯crontab配置文件,編輯結(jié)束后,文件被自動(dòng)安裝
?????-l? ?在標(biāo)準(zhǔn)輸出設(shè)備上顯示crontab配置文件的內(nèi)容
???? -r? 刪除crontab配置文件
2.crontab配置文件。
??用戶的crontab配置文件保存于/var/spool/cron目錄中,其文件名與用戶名相同。
??格式:minute?hour?day-of-month?month-of-year?day-of-week?[username] commands
各項(xiàng)內(nèi)容的取值范圍
minute:?0-59
hour:0-23
day-of-month:01-31
month-of-year:01-12
day-of-week:0-6,0位星期日
username:以指定的用戶身份執(zhí)行commands,
command: 執(zhí)行的Linux命令,通常要求使用絕對(duì)路徑
?
特殊字符
“.”可以使用逗號(hào)并列多個(gè)數(shù)值,如‘1,3,5,7,9'
?“-”指定一個(gè)數(shù)值范圍,如“1-9”
?“/" 和一個(gè)數(shù)字表示增量,如”1-9/2",相當(dāng)于“1,3,5,7,9"
?"*"通配符表示所有可能的合法數(shù)值
?除了數(shù)字之外,月和周兩個(gè)字段還可以使用其英文名字的縮寫(前3個(gè)字符),如feb表示二月,sun表
示星期日可以在每一行的起始位置采用注釋符合”#“增加一個(gè)注釋或一個(gè)空行。
例如 在crontab指令表示,每個(gè)星期五的下午4時(shí),在系統(tǒng)控制臺(tái)的終端窗口中顯示一條提示信息
例如 以root用戶設(shè)置cron調(diào)度,要求每周一的8:00查看/etc/passwd文件
?
顯示crontab文件
例如 使用ls -l 命令訪問/var/spool/cron目錄
例如:使用crontab -l 命令顯示當(dāng)前用戶gqxing自己的crontab文件
crontab命令的訪問控制
?????? Linux系統(tǒng)選用了/etc/cron.deny文件,或/etc/cron.allow文件限制用戶使用crontab命令。只有這兩個(gè)文件認(rèn)可的用戶才能使用crontab命令創(chuàng)建、編輯、顯示和刪除自己的crontab文件。
cron.deny和cron.allow文件可以包含一系列用戶名。每個(gè)用戶名占用一行。
? 如果cron.allow文件存在,則只有這個(gè)文件中列出的用戶才能創(chuàng)建、編輯、顯示和刪除crontab文件
? 如果cron.allow文件不存在,則除了cron.deny文件中列舉的用戶之外,其他用戶均可創(chuàng)建、編輯、顯示? ? 和刪除crontab文件
? 如果cron.allow或cron.deny文件均不存在,任何用戶都能夠運(yùn)行crontab命令
例如 不允許guest和visitor兩個(gè)用戶使用crontab命令?
?
調(diào)度一次性執(zhí)行的作業(yè)
格式 at [選項(xiàng)] [時(shí)間]
功能:在指定的時(shí)間執(zhí)行命令系列
-f 文件名 從指定的文件中而不是標(biāo)準(zhǔn)輸入讀取索要執(zhí)行的命令。
-l 顯示等待執(zhí)行的調(diào)度作業(yè)。
-d 刪除指定的調(diào)度作業(yè)
-v 顯示作業(yè)執(zhí)行的時(shí)間
-c 將命令行上列的作業(yè)送到標(biāo)準(zhǔn)輸出設(shè)備。
進(jìn)程開始執(zhí)行的時(shí)間可以采用以下形式
(1)絕對(duì)計(jì)時(shí)法
HH:MM 即小時(shí):分鐘? 可以采用24小時(shí)計(jì)時(shí)制。通常指當(dāng)天的時(shí)間,如果當(dāng)天的時(shí)間已經(jīng)過(guò)去,則在第二天同一時(shí)間執(zhí)行。如果采用12/小時(shí)計(jì)時(shí)制,則時(shí)間后面加上AM(上午)或PM(下午)
用戶也可以指定命令執(zhí)行的具體日期,指定格式為month day(月 日)或者mm/dd/yy(月/日/年)或者dd.mm.yy(日.月.年)。指定的日期必須在指定時(shí)間的后面。
例如在2008年5月1日13點(diǎn)執(zhí)行文件job中的作業(yè)
(2)直接計(jì)時(shí)法
直接使用絕對(duì)時(shí)間,如today(今天)、tomorrow(明天)、midnight(深夜)、noon(中午)
例如 在明天下午三點(diǎn)執(zhí)行文件job中的作業(yè)
例如 設(shè)置at調(diào)度 要求在2015年12月31日23點(diǎn)59分向登錄在系統(tǒng)上的所有用戶發(fā)送”Happy New Year"信息
例如 下列命令提交的at作業(yè)將會(huì)在當(dāng)天的18:30,刪除當(dāng)前用戶gqxing主目錄中的core文件
例如 下列命令提交的at作業(yè)將會(huì)在12月25日午夜進(jìn)入/home/gqxing/backup目錄,壓縮其中的所有數(shù)據(jù)文件
顯示at作業(yè)及作業(yè)隊(duì)列
atq命令列出了已經(jīng)提交到at隊(duì)列中的所有作業(yè),以及at作業(yè)的執(zhí)行時(shí)間信息
格式:atq
刪除at作業(yè)
?例如在at作業(yè)尚未執(zhí)行之前,無(wú)需具有超級(jí)用戶的特權(quán),任何用戶均可使用下列命令,從隊(duì)列中刪除自己的at作業(yè)。
格式:atrm ?id號(hào)
?
at命令的訪問控制
?????在Linux系統(tǒng)通過(guò)/etc/at.deny文件或選用的/etc/at.allow文件限制用戶使用at系列命令。只有這兩個(gè)文件
認(rèn)可的用戶才能夠使用at系列命令提交自己的at作業(yè)。如果需要,超級(jí)用戶可以設(shè)置at.deny或at.allow文
件,顯示或允許指定的用戶使用at系列命令
注意:只用超級(jí)用戶才能訪問at.deny和at.allow文件
???? /etc/at.deny文件由一系列用戶名組成,每個(gè)用戶占用一行,at.deny文件中列出的用戶不能使用at系列
命令提交at作業(yè)。
下面是修改之后的at.deny文件。其中新增的guest用戶不能使用at命令
為了驗(yàn)證新加入/etc/at.deny文件中的用戶是否能夠使用at系列命令。可以使用su命令改變用戶身份,然
后運(yùn)行atq命令
系統(tǒng)定時(shí)關(guān)機(jī)實(shí)例
?????? 為了在指定時(shí)間關(guān)機(jī),以應(yīng)對(duì)用電高峰期間的停電或緊急系統(tǒng)維護(hù),可以使用wall命令提前向注冊(cè)的用戶發(fā)送停機(jī)通知
然后執(zhí)行l(wèi)s -l /var/sqool/at
系統(tǒng)日志
?????? 在Red Hat Enterprise Linux系統(tǒng)的啟動(dòng)及運(yùn)行過(guò)程中,系統(tǒng)發(fā)生的任何重要事件,都會(huì)記入各種日志
文件中。對(duì)系統(tǒng)或應(yīng)用程序進(jìn)行診斷或排錯(cuò)時(shí),這些信息具有非常重要的參考價(jià)值。如果立交每個(gè)日
志文件的作用。很開能夠從中找打自己需要的信息
????? 利用各種日志文件,Red Hat Enerprise Linux系統(tǒng)提供大量的系統(tǒng)時(shí)間,說(shuō)明的信息以及錯(cuò)誤信息。
都位于/var/log目錄中采用日志文件格式。此外,許多日志文件都是有系統(tǒng)日志守護(hù)進(jìn)程syslogd根據(jù)系統(tǒng)
和應(yīng)用的配置要求生成的。而部分應(yīng)用程序則生成并維護(hù)自己的日志文件,把需要記錄的信息直接寫
入/var/log中的某個(gè)子目錄下的日志文件。
??????? ?大多數(shù)日志均可利用文件顯示命令less 查詢其中的內(nèi)容;grep命令 按照關(guān)鍵字檢索其中的特定信息,head命令 查詢最早出現(xiàn)的信息;tail命令 查詢最新的日志信息
如果想實(shí)時(shí)監(jiān)控某個(gè)日志文件,可以使用 “tail -f ”命令
例如 如果想要實(shí)現(xiàn)觀察客戶系統(tǒng)如何訪問本地主機(jī)中的Apache服務(wù)器。
系統(tǒng)日志文件
?????????概念:指Linux系統(tǒng)的基本功能,如授權(quán)機(jī)制、守護(hù)進(jìn)程以及系統(tǒng)消息等使用的日志文件。
1.系統(tǒng)內(nèi)核環(huán)形緩沖區(qū)
??????? 日志文件/var/log/dmesg用于記錄系統(tǒng)內(nèi)核環(huán)形緩沖內(nèi)存區(qū)轉(zhuǎn)儲(chǔ)的信息。在系統(tǒng)的啟動(dòng)過(guò)程中,系統(tǒng)
內(nèi)核將會(huì)把引導(dǎo)過(guò)程中的軟硬件模塊初始化信息寫入這個(gè)緩沖區(qū)中。若想觀察系統(tǒng)內(nèi)核的引導(dǎo)信息。
可以使用dmesg命令,或利用more或less等文件顯示命令。
直接查詢/var/log/dmesg日志文件
#dmesg | less
dmesg 命令主要用于觀察和控制系統(tǒng)內(nèi)核環(huán)形緩沖區(qū),顯示其中存儲(chǔ)的引導(dǎo)信息,清楚過(guò)時(shí)的數(shù)據(jù),設(shè)
置緩沖區(qū)記錄的信息級(jí)別。
2.系統(tǒng)消息日志
?????????系統(tǒng)消息日志文件/var/log/messages是系統(tǒng)信息的集中存儲(chǔ)位置,除了專門的日志文件之外,其中
記錄了大部分系統(tǒng)進(jìn)程、實(shí)用程序甚至應(yīng)用程序輸出的日志信息。
3.安全審計(jì)日志
???????? 安全審計(jì)日志文件/var/log/audit/audit.log用戶記錄系統(tǒng)安全審計(jì)信息,尤其是SELinux的安全審計(jì)信
息。如果發(fā)現(xiàn)某個(gè)程序運(yùn)行不正常,按照常規(guī)有關(guān)的設(shè)置也沒有問題,但是總是無(wú)法得到預(yù)期的運(yùn)行
結(jié)果,可以查詢這個(gè)日志文件。
4.應(yīng)用程序日志文件
????????處理各種系統(tǒng)日志文件外,還存在部分應(yīng)用程序?qū)S玫娜罩疚募@?var/log/httpd目錄含有
APache服務(wù)器的日志文件,/var/log/samba目錄含有samba服務(wù)器的日志文件。
???????1.Apache服務(wù)器日志
???????? 在Linux系統(tǒng)中安裝Apache服務(wù)器是,通常會(huì)在/var/log/目錄中創(chuàng)建了一個(gè)httpd子目錄 (/var/log/httpd)/var/log/httpd/access.log 其中包含Apache服務(wù)器的客戶系統(tǒng)訪問記錄;/var/log/httpd/error.log?
其中包含Apache服務(wù)器報(bào)告的所有出錯(cuò)記錄。
???????2.CUPS打印系統(tǒng)日志
???????? 通用UNIX打印系統(tǒng),采用/var/log/cups/error_log作為默認(rèn)的日志文件、存儲(chǔ)各種錯(cuò)誤信息;如果打
印方面出現(xiàn)問題,可以查詢這個(gè)日志文件,/var/log/cups/access_log為訪問日志文件,其中記錄了打印機(jī)
的設(shè)置情況。提交的打印作業(yè),以及打印作業(yè)的狀態(tài)等信息。
?????? 3.Samba服務(wù)器日志
??????? Samba服務(wù)器是Linux與Windows系統(tǒng)之間常用的一種文件與打印資源共享技術(shù)。
??????? log.smbd?其中包含了Samba服務(wù)器啟動(dòng)以及SMB/CIFS文件與打印共享方面的信息。
????????log.nmbd?其中包含基于IP協(xié)議的NETBIOS網(wǎng)絡(luò)通信方面的信息。
????????log_sysname?用于記錄特定客戶系統(tǒng)的服務(wù)器請(qǐng)求信息,文件名中sysname是客戶系統(tǒng)的主機(jī)名。
?????? 4.其他日志
?????? /var/log/xferlog 日志文件用于記錄FTP服務(wù)器的文件傳輸日志信息 /var/log/mysqld.log日志文件用于記
錄mysql數(shù)據(jù)庫(kù)服務(wù)器的日志信息。/var/log/yum.log日志文件用于記錄利用yum安裝、刪除或更新軟件的日
志信息。
二進(jìn)制日志文件
??????/var/log/目錄中的部分日志文件是二進(jìn)制數(shù)據(jù)文件,不能直接查閱,只能使用特定的程序讀取其中的
信息。
????? 1.最后一次注冊(cè)日志
最后一次用戶注冊(cè)的額時(shí)間記錄位于/var/log/lastlog日志文件中。
??????2.用戶注冊(cè)日志
???????/var/run/utmp和/var/log/wtmp日志文件包含系統(tǒng)中每個(gè)用戶的注冊(cè)記錄。在調(diào)度各種進(jìn)程時(shí),系統(tǒng)將
會(huì)系統(tǒng)日志守護(hù)進(jìn)程系統(tǒng)日志守護(hù)進(jìn)程 syslogd是一個(gè)重要的守護(hù)進(jìn)程,在系統(tǒng)的啟動(dòng)過(guò)程中自動(dòng)啟
動(dòng),以后臺(tái)方式運(yùn)行。syslogd守護(hù)進(jìn)程是一個(gè)總控開關(guān),用于接收來(lái)自各種系統(tǒng)或應(yīng)用程序的信息,
記錄系統(tǒng)范圍的日志信息,如果子系統(tǒng)或應(yīng)用程序擁有自己專用的日志文件,則把信息送交子系統(tǒng)或
應(yīng)用程序特定的日志文件。
???? 3.配置reyslogd
??????reyslogd采用模塊化的設(shè)計(jì),根據(jù)/etc/reyslog.conf配置文件的定義,確定其支持的模塊與系統(tǒng)日志的
記錄要求,分派每個(gè)日志文件應(yīng)記錄的數(shù)據(jù)類型與格式。
?????
轉(zhuǎn)載于:https://blog.51cto.com/10999640/1726100
超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
- 上一篇: VirtualBox中出现UUID ha
- 下一篇: Sublime Text 3使用Subl