詳談Unix操作系統(tǒng)作業(yè)調(diào)度
首先讓大家了解下Unix操作系統(tǒng)作業(yè)調(diào)度,然后全面介紹Unix操作系統(tǒng),希望對(duì)大家對(duì)Unix操作系統(tǒng)的學(xué)習(xí)有所幫助。
作業(yè)調(diào)度是shell的一個(gè)特性,它允許用戶使用作業(yè)調(diào)度命令,所謂作業(yè)調(diào)度實(shí)際上是時(shí)鐘守護(hù)進(jìn)程cron按照用戶所提交的確定的時(shí)間在這個(gè)時(shí)間內(nèi)執(zhí)行某些運(yùn)行作業(yè),cron守護(hù)進(jìn)程將在設(shè)定的日期規(guī)定的時(shí)間內(nèi)自動(dòng)地執(zhí)行某樣任務(wù)。可在Unix操作系統(tǒng)負(fù)載較輕時(shí)安排這些非交互式作業(yè)的運(yùn)行,在中與cron配合提交任務(wù)的命令有三種:at,batch,crontab。
cron進(jìn)程的活動(dòng)可存放在日志文件中,該日志文件為/usr/lib/cron/log文件,是否對(duì)cron活動(dòng)進(jìn)行記錄還要一個(gè)變量CRONLOG的設(shè)置,這個(gè)變量存放于/etc/default/cron文件中。
缺省情況下,這個(gè)變量設(shè)置值為NO,這說(shuō)明cron進(jìn)程的活動(dòng)內(nèi)容不保留在任何文件中,若需要可將其值改為yes或?qū)⑵湮募臑槠渌脩粜枰奈募?。此外,?etc/default/cron中MAXLOGSIZE 限制了log文件的大小,該變量以512字節(jié)為單位設(shè)定的log的最大塊數(shù),確省為2048塊。 在/etc/default/cron中的MAXCRON變量,控制在同一時(shí)刻允許運(yùn)行的最大進(jìn)程數(shù)量,確省為100。
若Unix操作系統(tǒng)的若干用戶要使用cron進(jìn)程,那么這個(gè)用戶必須授予cron子系統(tǒng)的權(quán)限,給特定用戶授予cron子系統(tǒng)的權(quán)限的操作為 scoadmin- system- cron manager- shecdule- default- user- allow 或scoadmin account manager - 選中用戶- users- user authorizations- authorized add cron取消use system default ...- ok
對(duì)應(yīng)有兩個(gè)文件可看到那些用戶具備此權(quán)限,分別為:
- /usr/lib/cron/cron.allow誰(shuí)能安排cron作業(yè)的確切列表
- /usr/lib/corn/cron.deny表示誰(shuí)不能安排cron作業(yè)的確切列表,只有cron.allow不存在時(shí)才有作用
如果這兩個(gè)文件都不存在,表示只有root用戶才有安排cron作業(yè)的權(quán)限。若兩個(gè)文件都在,則cron.allow具有更高的優(yōu)先權(quán)。
一、at,batch使用方法
at,batch的功能是在以后某個(gè)時(shí)間內(nèi)執(zhí)行某些命令。at命令允許指定作業(yè)執(zhí)行時(shí)間,batch命令只有在Unix操作系統(tǒng)負(fù)載允許的情況下執(zhí)行該作業(yè)。每個(gè)作業(yè)的id號(hào)和執(zhí)行時(shí)間都可輸出到錯(cuò)誤輸出上。
at的命令行結(jié)構(gòu):
- at [ -m ] [ -f file ] [ -q letter ] -t [[CC]YY]MMDDhhmm.[SS]
- at -r job-id ... job-id指at命令作業(yè)的id號(hào),-r指刪除該id號(hào)的作業(yè)
- at -l [job -d ...] 顯示當(dāng)前的at作業(yè)
batch不帶參數(shù),其提交的作業(yè)比at提交的作業(yè)比具有較低的優(yōu)先級(jí),其何時(shí)執(zhí)行要看Unix操作系統(tǒng)中已提交的作業(yè)數(shù)量。Unix操作系統(tǒng)空閑時(shí),提交的作業(yè)即可運(yùn)行。 at,batch,crontab三個(gè)命令的使用范圍是有一定限制的,一般情況下,at,batch提交一次性的作業(yè),作業(yè)運(yùn)行完后不再運(yùn)行。而crontab所提交的作業(yè)一般以固定的周期運(yùn)行,在Unix操作系統(tǒng)允許的情況在指定的周期內(nèi)Unix操作系統(tǒng)反復(fù)執(zhí)行該作業(yè)。
相關(guān)文件與目錄
- /usr/lib/cron/at.allow list of allowed users
- /usr/spool/cron/atjobs spool area
- /usr/lib/cron/.protoat and batch environment information
- /usr/lib/cron/.protoat and batch environment information
部分Unix操作系統(tǒng)參數(shù)說(shuō)明分別如下
1)表示時(shí)間,可指定為1,2,或4個(gè)數(shù)字,1或2個(gè)數(shù)字被認(rèn)為是小時(shí),4個(gè)數(shù)字被認(rèn)為是小時(shí)和分鐘,格式為 hh:mmm
2)date 表示日期
3)increment 表示要在前面所指定的時(shí)間time[date]再推后一段時(shí)間
4)-t [[cc]YY]MMDDhhmm.[SS]
CC 世紀(jì)
YY 年
MM 月
DD 日
SS 秒
把指定作業(yè)置于指定字母所指示的隊(duì)列內(nèi),可以是從a到z的任何小寫字母以下隊(duì)列有特殊意義
a at 隊(duì)列
b batch 隊(duì)列
c cron 隊(duì)列
Unix操作系統(tǒng)不使用-m 選項(xiàng)時(shí),作業(yè)的標(biāo)準(zhǔn)輸出將直接mail給相應(yīng)用戶除非作業(yè)被明確重新定向)。使用-m 選項(xiàng)時(shí),即使作業(yè)沒有輸出,也將以形式通知用戶。
指定包含有at 作業(yè)的源文件名,以代替從標(biāo)準(zhǔn)輸入。列出指定作業(yè)的相關(guān)信息刪除指定作業(yè),at 和 batch 作業(yè)提交后,均被指定一個(gè)相應(yīng)的作業(yè)標(biāo)識(shí)符,at作業(yè)帶有 后綴.a, batch作業(yè)帶有后綴 .b 。所有作業(yè)以其作業(yè)標(biāo)識(shí)符為文件名,保存在/usr/spool/cron/atjobs目錄中。
以上就是我們這次要講的關(guān)于Unix操作系統(tǒng)中at,batch使用方法的問(wèn)題,希望對(duì)大家對(duì)Unix操作系統(tǒng)的學(xué)習(xí)有所幫助。
【編輯推薦】