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