成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

linux的at命令的簡(jiǎn)單介紹

linux命令詳解之a(chǎn)t

Linux下,有兩個(gè)命令可以用來作為計(jì)劃任務(wù)而執(zhí)行,

為固安等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及固安網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、固安網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

要使用一次性任務(wù)計(jì)劃,linux必須要有負(fù)責(zé)這個(gè)計(jì)劃任務(wù)的服務(wù),那就是atd服務(wù)

但是并非所有的linux distribution都默認(rèn)會(huì)打開,我們需要手動(dòng)激活愛聽的任務(wù)

如果服務(wù)未安裝,則需要手動(dòng)安裝

#:yum install - y at 或 #:apt-get install at

如果擔(dān)心啟動(dòng)是否執(zhí)行OK的話,可使用命令查看:

#:ps aux |grep atd

或者使用

systemctl status atd

# 查閱一下 atd 目前的狀態(tài),Active 狀態(tài)應(yīng)是 running

使用 at 這個(gè)指令來產(chǎn)生所要運(yùn)行的工作,并 將這個(gè)工作以文本文件的方式寫入 /var/spool/cron/atjobs/ 目錄內(nèi),該工作便能等待 atd 這個(gè)服務(wù)的取用與執(zhí)行了。 不過,因?yàn)榘踩睦碛?,并不是所有的人都可以進(jìn)行 at 工作調(diào)度!

at 的使用限制是利用 /etc/at.allow 與 /etc/at.deny 這兩個(gè)文件來進(jìn)行的! 加上這兩個(gè)文件后,at 的工作情況其實(shí)是這樣的:

在一般的 distributions 當(dāng)中,由于假設(shè)系統(tǒng)上的所有用戶都是可信任的,因此系統(tǒng)通常會(huì)保留一個(gè)空的 /etc/at.deny 文件,意思是允 許所有人使用 at 指令的意思 (您可以自行檢查一下該文件)。 不過,萬一你不希望有某些 使用者使用 at 的話,將那個(gè)使用者的帳號(hào)寫入 /etc/at.deny 即可! 一個(gè)帳號(hào)寫一行。

單一工作調(diào)度的進(jìn)行就使用 at 這個(gè)指令!這個(gè)指令的運(yùn)行非常簡(jiǎn)單!將 at 加上一個(gè)時(shí)間即可!基本的語法如下:

事實(shí)上,當(dāng)我們使用 at 時(shí)會(huì)進(jìn)入一個(gè) at shell 的環(huán)境來讓使用者下達(dá)工作指令,此時(shí),建議 你最好使用絕對(duì)路徑來下達(dá)你的指令,比較不會(huì)有問題!由于指令的下達(dá)與 PATH 變量有關(guān), 同時(shí)與當(dāng)時(shí)的工作目錄也有關(guān)連 (如果有牽涉到文件的話),因此使用絕對(duì)路徑來下達(dá) 指令,會(huì)是比較一勞永逸的方法。 舉例來說,你在 /tmp 下達(dá) at now 然后輸入 mail -s "test" root .bashrc , 問一下,那個(gè) .bashrc 的文件會(huì)是在哪里?答案是 /tmp/.bashrc !因?yàn)?at 在運(yùn)行時(shí),會(huì)跑到當(dāng)時(shí)下達(dá) at 指令的那個(gè)工作目錄運(yùn)行!

要注意的是,如果在 at shell 內(nèi)的指令并沒有任何的訊息輸出,那么 at 默認(rèn)不會(huì)發(fā) email 給執(zhí)行者的。 如果你想要讓 at 無論如何都發(fā)一封 email 告知你是否執(zhí)行了指令,那么 可以使用“ at -m 時(shí)間格式 ”來下達(dá)指令! at 就會(huì)傳送一個(gè)訊息給執(zhí)行者,而不論該指令執(zhí)行有無訊息輸出了!

如果要在某某時(shí)刻,在我的終端機(jī)顯示出 Hello 的字樣,可以通過終端機(jī)的設(shè)備來處理!假如你在 tty1 登陸(在命令行里面輸入 tty 可以查看),則可以使用 echo "Hello" /dev/tty1 。

at 有另外一個(gè)很棒的優(yōu)點(diǎn), 由于 at 工作調(diào)度的使用上,系統(tǒng)會(huì)將該項(xiàng) at 工作獨(dú)立出你的 bash 環(huán)境中, 直接交給系統(tǒng)的 atd 程序來接管,因此,當(dāng)你下達(dá)了 at 的工作之后就可以立刻離線了, 剩下的工作就完全交 給 Linux 管理即可!所以如果有長時(shí)間的網(wǎng)絡(luò)工作時(shí),使用 at 可以讓你免除網(wǎng)絡(luò)斷線后的困擾。

其實(shí) batch 是利用 at 來進(jìn)行指令的下達(dá)!只是加入一些控制參數(shù)而已。這個(gè) batch 神奇的地方在于:他會(huì)在 CPU 的工作負(fù)載小于 0.8 的時(shí)候,才進(jìn)行你所下達(dá)的工作任務(wù)啦!

那什么是工作負(fù)載 0.8 呢?這個(gè)工作負(fù)載的意思是: CPU 在單一時(shí)間點(diǎn)所負(fù)責(zé)的工作數(shù)量。不是CPU 的使用率喔! 舉例來說,如果我有一只程序他需要一直使用 CPU 的運(yùn)算功能,那么此 時(shí) CPU 的使用率可能到達(dá) 100% , 但是 CPU 的工作負(fù)載則是趨近于“ 1 ”,因?yàn)?CPU 僅負(fù)責(zé)一個(gè)工作!如果同時(shí)執(zhí)行這樣的程序兩支呢? CPU 的使用率還是 100% ,但是工作負(fù)載 則變成 2 了! 所以也就是說,當(dāng) CPU 的工作負(fù)載越大,代表 CPU 必須要在不同的工作之間進(jìn)行頻繁的工 作切換。 因?yàn)橐恢鼻袚Q 工作,所以會(huì)導(dǎo)致系統(tǒng)忙碌啊! 系統(tǒng)如果很忙碌,還要額外進(jìn)行 at ,不太合理!所以才有 batch 指令的產(chǎn)生!

下面來實(shí)驗(yàn)一下 batch 好了!為了產(chǎn)生 CPU 較高的工作負(fù)載,我們用了 計(jì)算 pi 的腳本,連續(xù)執(zhí)行 4 次這只程序, 來仿真高負(fù)載,然后看看batch 的工作現(xiàn)象。

使用 uptime 可以觀察到 1, 5, 15 分鐘的“平均工作負(fù)載”量,因?yàn)槭瞧骄?,所以?dāng)我們?nèi)缟?表刪除掉四個(gè)工作后,工作負(fù)載不會(huì)立即降低, 需要一小段時(shí)間讓這個(gè) 1 分鐘平均值慢慢回 復(fù)到接近 0 啊!當(dāng)小于 0.8 之后的“整分鐘時(shí)間”時(shí),atd 就會(huì)將 batch 的工作執(zhí)行掉了!

什么是“整分鐘時(shí)間”呢?不論是 at 還是 crontab,他們最小的時(shí)間單位是“分 鐘”,所以,基本上,他們的工作是“每分鐘檢查一次”來處理的! 就是整分 (秒為 0 的時(shí)候),同時(shí),你會(huì)發(fā)現(xiàn)其實(shí) batch 也是使用 atq/atrm 來管理的!

Linux系統(tǒng)的進(jìn)程調(diào)度

Linux進(jìn)程調(diào)度

1.調(diào)度方式

Linux系統(tǒng)的調(diào)度方式基本上采用“ 搶占式優(yōu)先級(jí) ”方式,當(dāng)進(jìn)程在用戶模式下運(yùn)行時(shí),不管它是否自愿,核心在一定條件下(如該進(jìn)程的時(shí)間片用完或等待I/O)可以暫時(shí)中止其運(yùn)行,而調(diào)度其他進(jìn)程運(yùn)行。一旦進(jìn)程切換到內(nèi)核模式下運(yùn)行時(shí),就不受以上限制,而一直運(yùn)行下去,僅在重新回到用戶模式之前才會(huì)發(fā)生進(jìn)程調(diào)度。

Linux系統(tǒng)中的調(diào)度基本上繼承了UNIX系統(tǒng)的 以優(yōu)先級(jí)為基礎(chǔ) 的調(diào)度。也就是說,核心為系統(tǒng)中每個(gè)進(jìn)程計(jì)算出一個(gè)優(yōu)先級(jí),該優(yōu)先級(jí)反映了一個(gè)進(jìn)程獲得CPU使用權(quán)的資格,即高優(yōu)先級(jí)的進(jìn)程優(yōu)先得到運(yùn)行。核心從進(jìn)程就緒隊(duì)列中挑選一個(gè)優(yōu)先級(jí)最高的進(jìn)程,為其分配一個(gè)CPU時(shí)間片,令其投入運(yùn)行。在運(yùn)行過程中,當(dāng)前進(jìn)程的優(yōu)先級(jí)隨時(shí)間遞減,這樣就實(shí)現(xiàn)了“負(fù)反饋”作用,即經(jīng)過一段時(shí)間之后,原來級(jí)別較低的進(jìn)程就相對(duì)“提升”了級(jí)別,從而有機(jī)會(huì)得到運(yùn)行。當(dāng)所有進(jìn)程的優(yōu)先級(jí)都變?yōu)?(最低)時(shí),就重新計(jì)算一次所有進(jìn)程的優(yōu)先級(jí)。

2.調(diào)度策略

Linux系統(tǒng)針對(duì)不同類別的進(jìn)程提供了3種不同的調(diào)度策略,即SCHED_FIFO、SCHED_RR及SCHED_OTHER。其中,SCHED_FIFO適合于 短實(shí)時(shí)進(jìn)程 ,它們對(duì)時(shí)間性要求比較強(qiáng),而每次運(yùn)行所需的時(shí)間比較短。一旦這種進(jìn)程被調(diào)度且開始運(yùn)行,就一直運(yùn)行到自愿讓出CPU或被優(yōu)先級(jí)更高的進(jìn)程搶占其執(zhí)行權(quán)為止。

SCHED_RR對(duì)應(yīng)“時(shí)間片輪轉(zhuǎn)法”,適合于每次運(yùn)行需要 較長時(shí)間的實(shí)時(shí)進(jìn)程 。一個(gè)運(yùn)行進(jìn)程分配一個(gè)時(shí)間片(200 ms),當(dāng)時(shí)間片用完后,CPU被另外進(jìn)程搶占,而該進(jìn)程被送回相同優(yōu)先級(jí)隊(duì)列的末尾,核心動(dòng)態(tài)調(diào)整用戶態(tài)進(jìn)程的優(yōu)先級(jí)。這樣,一個(gè)進(jìn)程從創(chuàng)建到完成任務(wù)后終止,需要經(jīng)歷多次反饋循環(huán)。當(dāng)進(jìn)程再次被調(diào)度運(yùn)行時(shí),它就從上次斷點(diǎn)處開始繼續(xù)執(zhí)行。

SCHED_OTHER是傳統(tǒng)的UNIX調(diào)度策略,適合于交互式的 分時(shí)進(jìn)程 。這類進(jìn)程的優(yōu)先級(jí)取決于兩個(gè)因素:一個(gè)是進(jìn)程剩余時(shí)間配額,如果進(jìn)程用完了配給的時(shí)間,則相應(yīng)優(yōu)先級(jí)降到0;另一個(gè)是進(jìn)程的優(yōu)先數(shù)nice,這是從UNIX系統(tǒng)沿襲下來的方法,優(yōu)先數(shù)越小,其優(yōu)先級(jí)越高。nice的取值范圍是-20 19。用戶可以利用nice命令設(shè)定進(jìn)程的nice值。但一般用戶只能設(shè)定正值,從而主動(dòng)降低其優(yōu)先級(jí);只有特權(quán)用戶才能把nice的值設(shè)置為負(fù)數(shù)。進(jìn)程的優(yōu)先級(jí)就是以上二者之和。

后臺(tái)命令對(duì)應(yīng)后臺(tái)進(jìn)程(又稱后臺(tái)作業(yè))。后臺(tái)進(jìn)程的優(yōu)先級(jí)低于任何交互(前臺(tái))進(jìn)程的優(yōu)先級(jí)。所以,只有當(dāng)系統(tǒng)中當(dāng)前不存在可運(yùn)行的交互進(jìn)程時(shí),才調(diào)度后臺(tái)進(jìn)程運(yùn)行。后臺(tái)進(jìn)程往往按批處理方式調(diào)度運(yùn)行。

3.調(diào)度時(shí)機(jī)

核心進(jìn)行進(jìn)程調(diào)度的時(shí)機(jī)有以下5種情況:

(1)當(dāng)前進(jìn)程調(diào)用系統(tǒng)調(diào)用nanosleep( )或者pause( ),使自己進(jìn)入睡眠狀態(tài),主動(dòng)讓出一段時(shí)間的CPU的使用權(quán)。

(2)進(jìn)程終止,永久地放棄對(duì)CPU的使用。

(3)在時(shí)鐘中斷處理程序執(zhí)行過程中,發(fā)現(xiàn)當(dāng)前進(jìn)程連續(xù)運(yùn)行的時(shí)間過長。

(4)當(dāng)喚醒一個(gè)睡眠進(jìn)程時(shí),發(fā)現(xiàn)被喚醒的進(jìn)程比當(dāng)前進(jìn)程更有資格運(yùn)行。

(5)一個(gè)進(jìn)程通過執(zhí)行系統(tǒng)調(diào)用來改變調(diào)度策略或者降低自身的優(yōu)先級(jí)(如nice命令),從而引起立即調(diào)度。

4.調(diào)度算法

進(jìn)程調(diào)度的算法應(yīng)該比較簡(jiǎn)單,以便減少頻繁調(diào)度時(shí)的系統(tǒng)開銷。Linux執(zhí)行進(jìn)程調(diào)度時(shí),首先查找所有在就緒隊(duì)列中的進(jìn)程,從中選出優(yōu)先級(jí)最高且在內(nèi)存的一個(gè)進(jìn)程。如果隊(duì)列中有實(shí)時(shí)進(jìn)程,那么實(shí)時(shí)進(jìn)程將優(yōu)先運(yùn)行。如果最需要運(yùn)行的進(jìn)程不是當(dāng)前進(jìn)程,那么當(dāng)前進(jìn)程就被掛起,并且保存它的現(xiàn)場(chǎng)—— 所涉及的一切機(jī)器狀態(tài),包括程序計(jì)數(shù)器和CPU寄存器等,然后為選中的進(jìn)程恢復(fù)運(yùn)行現(xiàn)場(chǎng)。

(二)Linux常用調(diào)度命令

· nohup命令

nohup命令的功能是以忽略掛起和退出的方式執(zhí)行指定的命令。其命令格式是:

nohup command [arguments]

其中,command是所要執(zhí)行的命令,arguments是指定命令的參數(shù)。

nohup命令告訴系統(tǒng),command所代表的命令在執(zhí)行過程中不受任何結(jié)束運(yùn)行的信號(hào)(hangup和quit)的影響。例如,

$ nohup find / -name exam.txt -printf1

find命令在后臺(tái)運(yùn)行。在用戶注銷后,它會(huì)繼續(xù)運(yùn)行:從根目錄開始,查找名字是exam.txt的文件,結(jié)果被定向到文件f1中。

如果用戶沒有對(duì)輸出進(jìn)行重定向,則輸出被附加到當(dāng)前目錄的nohup.out文件中。如果用戶在當(dāng)前目錄中不具備寫權(quán)限,則輸出被定向到$HOME/nohup.out 中。

· at命令

at命令允許指定命令執(zhí)行的時(shí)間。at命令的常用形式是:

at time command

其中,time是指定命令command在將來執(zhí)行時(shí)的時(shí)間和日期。時(shí)間的指定方法有多種,用戶可以使用絕對(duì)時(shí)間,也可以用相對(duì)時(shí)間。該指定命令將以作業(yè)形式在后臺(tái)運(yùn)行。例如:

$ at 15:00 Oct 20

回車后進(jìn)入接收方式,接著鍵入以下命令:

mail -s "Happy Birthday!" liuzheny

按下D鍵,屏幕顯示:

job 862960800.a at Wed Oct 20 15:00:00 CST 1999

$

表明建立了一個(gè)作業(yè),其作業(yè)ID號(hào)是862960800.a,運(yùn)行作業(yè)的時(shí)間是1999年10月20日下午3:00,給liuzheny發(fā)一條標(biāo)題為“Happy Birthday!”(生日快樂)的空白郵件。

利用 at -l 可以列出當(dāng)前at隊(duì)列中所有的作業(yè)。

利用 at -r 可以刪除指定的作業(yè)。這些作業(yè)以前由at或batch命令調(diào)度。例如,

at -r 862960797.a

將刪除作業(yè)ID號(hào)是862960797.a的作業(yè)。其一般使用形式是:

at -r job_id

注意,結(jié)尾是.a的作業(yè)ID號(hào),表示這個(gè)作業(yè)是由at命令提交的;結(jié)尾是.b的作業(yè)ID號(hào),表示這個(gè)作業(yè)是由batch命令提交的。

· batch命令

batch命令不帶任何參數(shù),它提交的作業(yè)的優(yōu)先級(jí)比at命令提交的作業(yè)的優(yōu)先級(jí)低。batch無法指定作業(yè)運(yùn)行的時(shí)間。實(shí)際運(yùn)行時(shí)間要看系統(tǒng)中已經(jīng)提交的作業(yè)數(shù)量。如果系統(tǒng)中優(yōu)先級(jí)較高的作業(yè)比較多,那么,batch提交的作業(yè)則需要等待;如果系統(tǒng)空閑,則運(yùn)行batch提交的作業(yè)。例如,

$ batch

回車后進(jìn)入接收方式,接著鍵入命令:

find / -name exam.txt -print

按下D。退出接收方式,屏幕顯示:

job 862961540.b at Thu Nov 18 14:30:00 CST 1999

表示find命令被batch作為一個(gè)作業(yè)提交給系統(tǒng),作業(yè)ID號(hào)是862961540.b。如果系統(tǒng)當(dāng)前空閑,這個(gè)作業(yè)被立即執(zhí)行,其結(jié)果同樣作為郵件發(fā)送給用戶。

· jobs命令

jobs命令用來顯示當(dāng)前shell下正在運(yùn)行哪些作業(yè)(即后臺(tái)作業(yè))。例如:

$ jobs

[2] + Running tar tv3 *

[1] - Running find / -name README -print logfile

$

其中,第一列方括號(hào)中的數(shù)字表示作業(yè)序號(hào),它是由當(dāng)前運(yùn)行的shell分配的,而不是由操作系統(tǒng)統(tǒng)一分配的。在當(dāng)前shell環(huán)境下,第一個(gè)后臺(tái)作業(yè)的作業(yè)號(hào)為1,第二個(gè)作業(yè)的作業(yè)號(hào)為2,等等。

第二列中的“ ”號(hào)表示相應(yīng)作業(yè)的優(yōu)先級(jí)比“-”號(hào)對(duì)應(yīng)作業(yè)的優(yōu)先級(jí)高。

第三列表明作業(yè)狀態(tài),是否為運(yùn)行、中斷、等待輸入或停止等。

最后列出的是創(chuàng)建當(dāng)前這個(gè)作業(yè)所對(duì)應(yīng)的命令行。

利用 jobs -l 形式,可以在作業(yè)號(hào)后顯示出相應(yīng)進(jìn)程的PID。如果想只顯示相應(yīng)進(jìn)程的PID,不顯示其它信息,則使用 jobs -p 形式。

· fg命令

fg命令把指定的后臺(tái)作業(yè)移到前臺(tái)。其使用格式是:

fg [job…]

其中,參數(shù)job是一個(gè)或多個(gè)進(jìn)程的PID,或者是命令名稱或者作業(yè)號(hào)(前面要帶有一個(gè)“%”號(hào))。例如:

$ jobs

[2] + Running tar tv3 *

[1] - Running find / -name README -print logfile

$ fg %find

find / -name README -print logfile

注意,顯示的命令行末尾沒有“”符號(hào)。下面命令能產(chǎn)生同樣的效果:

$ fg %1

這樣,find命令對(duì)應(yīng)的進(jìn)程就在前臺(tái)執(zhí)行。當(dāng)后臺(tái)只有一個(gè)作業(yè)時(shí),鍵入不帶參數(shù)的fg命令,就能使相應(yīng)進(jìn)程移到前臺(tái)。當(dāng)有兩個(gè)或更多的后臺(tái)作業(yè)時(shí),鍵入不帶參數(shù)的fg,就把最后進(jìn)入后臺(tái)的進(jìn)程首先移到前臺(tái)。

· bg命令

bg命令可以把前臺(tái)進(jìn)程換到后臺(tái)執(zhí)行。其使用格式是:

bg [job…]

其中,job是一個(gè)或多個(gè)進(jìn)程的PID、命令名稱或者作業(yè)號(hào),在參數(shù)前要帶“%”號(hào)。例如,在cc(C編譯命令)命令執(zhí)行過程中,按下Z鍵,使這個(gè)作業(yè)掛起。然后鍵入以下命令:

$ bg %cc

該掛起的作業(yè)在后臺(tái)重新開始執(zhí)行。

linux中at命令

at命令

at:計(jì)劃任務(wù),在特定的時(shí)間執(zhí)行某項(xiàng)工作,在特定的時(shí)間執(zhí)行一次。

格式:at+時(shí)間

例1:date //查看系統(tǒng)當(dāng)前時(shí)間

at 時(shí)間 //系統(tǒng)計(jì)劃啟動(dòng)任務(wù)時(shí)間

at date /root/1.txt //date:系統(tǒng)計(jì)劃啟動(dòng)任務(wù)時(shí)間執(zhí)行date命令;/root/1.txt執(zhí)行命令寫入位

置和文件

ctrl+d退出 //退出at命令

例2:date //查看系統(tǒng)當(dāng)前時(shí)間

at 時(shí)間 //系統(tǒng)計(jì)劃啟動(dòng)任務(wù)時(shí)間

at init 0 /root/2.txt //init 0:系統(tǒng)計(jì)劃啟動(dòng)任務(wù)時(shí)間執(zhí)行init 0(關(guān)機(jī))命令;/root/2.txt執(zhí)

行命令寫入位置和文件

例3:在固定時(shí)間內(nèi)添加一個(gè)用戶(這時(shí)建立的用戶沒有密碼)

#at 12:00(時(shí)間) //at命令設(shè)定12:00執(zhí)行一項(xiàng)操作

atuseradd aaa //在at命令里設(shè)定添加用戶aaa

ctrl+d //退出at命令

tail -f /etc/passwd //查看/etc/passwd文件后十行是否增加了一個(gè)用戶aaa

計(jì)劃任務(wù)結(jié)束后,查看任務(wù)是否寫入文件中,可以用cat或vi命令查看。

格式:cat(vi)+(路徑)文件名

例1:cat(vi) 1.txt

日 2月 6 09:21:28 CST 2005

計(jì)劃任務(wù)設(shè)定后,在沒有執(zhí)行之前我們可以用atq命令來查看系統(tǒng)沒有執(zhí)行工作任務(wù)。

格式:atq

例:atq

1 2005-02-06 09:23 a root

啟動(dòng)計(jì)劃任務(wù)后,如果不想啟動(dòng)設(shè)定好的計(jì)劃任務(wù)可以使用atrm命令刪除。

格式:atrm+任務(wù)號(hào)

例:atrm 1 //刪除計(jì)劃任務(wù)1

atq //查看計(jì)劃任務(wù)是否刪除

還可以進(jìn)入到/var/spool/at目錄里把計(jì)劃任務(wù)刪除,計(jì)劃任務(wù)的文件都保存在該目錄里,可以用rm -f

文件名來刪除(以文件的形式刪除計(jì)劃任務(wù),因?yàn)橛?jì)劃任務(wù)是以文件形式保存在該目錄中)

例:#cd /var/spool/at //進(jìn)入到/var/spool/at目錄中

ls //顯示目錄中所有文件

rm -f a0000a0119b0df //刪除計(jì)劃任務(wù)

在通常情況下,超級(jí)用戶都可以使用這個(gè)命令。對(duì)于其他用戶來說,能否可以使用就取決于兩個(gè)文

件:/etc/at.allow和/etc/at.deny。

當(dāng)“用戶名”寫入/etc/at.deny中,用戶不能執(zhí)行at命令(管理員限制用戶使用at命令)。

例:useradd text //新建一個(gè)text用戶

ls /etc/at.deny //查看at.deny文件內(nèi)容

vi /etc/at.deny //對(duì)at.deny文件進(jìn)行編輯

text //對(duì)at.deny文件進(jìn)行編輯,寫入text用戶名,進(jìn)行at命令限制,然后wq(保存退出)

cat /etc/at.deny //顯示at.deny文件內(nèi)容

su - text //切換到text用戶

at 12:00 //text用戶執(zhí)行at命令,如果被限制則出現(xiàn)下面的提示。

You do not have permission to use at.你不允許使用at這個(gè)命令

at.allow比at.deny優(yōu)先級(jí)高

at.allow文件中有的用戶可以執(zhí)行at,沒有則不能。

linux操作系統(tǒng)在執(zhí)行用戶是否可以執(zhí)行at命令時(shí),先看at.allow文件沒有才看at.deny文件。

注意:linux操作系統(tǒng)默認(rèn)沒有/etc/at.allow文件。

例:ls /etc/at.allow //查看是否已經(jīng)建立at.allow文件

touch /etc/at.allow //建立/etc/at.allow文件

vi /etc/at.allow //對(duì)at.allow文件進(jìn)行編輯

text //對(duì)at.allow文件進(jìn)行編輯,寫入text用戶名,該用戶名可以執(zhí)行at命令,然后wq(保存退出)。

su - text //切換到text用戶

at 12:00 //text用戶執(zhí)行at命令,若不出現(xiàn)上面所說的提示就可以進(jìn)行at命令設(shè)定了。

at命令格式

at HH:MM YYYY-MM-DD //HH(小時(shí)):MM(分鐘) YYYY(年)-MM(月份)-DD(日)

例:at 4:00 2004-11-27

HH[am pm]+D(天) days //HH(小時(shí))[am(上午)pm(下午)]+days(天)

例:4pm + 3days :3天以后下午4:00執(zhí)行at命令設(shè)定的計(jì)劃任務(wù)。

19. Linux的at定時(shí)任務(wù)調(diào)度

與crond不同的是,at任務(wù)調(diào)度是一次性的,而crond是重復(fù)性的

1.1 at命令是一次性定時(shí)計(jì)劃任務(wù),at的守護(hù)進(jìn)程atd會(huì)以后臺(tái)模式運(yùn)行,檢查作業(yè)隊(duì)列來運(yùn)行

1.2 默認(rèn)情況下,atd守護(hù)進(jìn)程每60s檢查作業(yè)隊(duì)列,有作業(yè)時(shí),會(huì)檢查作業(yè)運(yùn)行時(shí)間,如果時(shí)間與當(dāng)前時(shí)間匹配,則運(yùn)行此作業(yè)

1.3 at命令是一次性定時(shí)計(jì)劃任務(wù),執(zhí)行完一個(gè)任務(wù)后就不再執(zhí)行這個(gè)任務(wù)了

1.4 在使用at命令的時(shí)候,一定要保證atd進(jìn)程的啟動(dòng),可以使用相關(guān)指令查看

ps -ef | grep atd 可以檢查atd是否在運(yùn)行

at [選項(xiàng)] [時(shí)間]

按兩次 ctrl+d 結(jié)束at命令的輸入

4.1 當(dāng)天的hh:mm(小時(shí):分鐘),假如這個(gè)時(shí)間已經(jīng)過去,那么就第二天的這個(gè)時(shí)間執(zhí)行。例如04:00

4.2 模糊的詞語,例如midnight、noon、teatime(下午茶時(shí)間,16:00左右)

4.3 采用12小時(shí)計(jì)時(shí)制,例如8am

4.4 指定執(zhí)行命令的具體日期,格式為month dat(月 日)或者mm/dd/yy或者dd.mm.yy,指定的日期必須跟著寫在在指定時(shí)間的后面,例如:04:00 2021-3-1就是2021年3月1日凌晨4點(diǎn)整執(zhí)行

4.5 相對(duì)計(jì)時(shí)法,指定格式為now + count time-units,now就是當(dāng)前時(shí)間,time-units是時(shí)間單位,可以是minutes、hours、days、weeks。count是時(shí)間的數(shù)量,例如:now + 5 minutes

4.6 直接用today、tomorrow來指定完成命令的時(shí)間

5.1 2天后的下午5點(diǎn),執(zhí)行/bin/ls /home指令

at 5pm + 2 days 按回車鍵

然后寫下那個(gè)時(shí)刻要執(zhí)行命令 /bin/ls /home

最后按兩次ctrl+d退出at指令

5.2 atq指令可以直接執(zhí)行,查看系統(tǒng)中待執(zhí)行的工作任務(wù)

5.3 明天17:00輸出時(shí)間到指定文件內(nèi) /root/date100.log

at 17:00 tomorrow 按回車鍵

date /root/date100.log

按兩次ctrl+d退出at指令的輸入

5.4 2分鐘后

at now + 2 minutes

5.5 刪除已經(jīng)設(shè)置的任務(wù),atrm 編號(hào)

可以用atq列出待執(zhí)行的任務(wù),列出后第一列就是job編號(hào)

網(wǎng)站欄目:linux的at命令的簡(jiǎn)單介紹
URL網(wǎng)址:http://jinyejixie.com/article18/dsedhdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、定制網(wǎng)站、ChatGPT、企業(yè)建站、網(wǎng)站改版、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
渭南市| 云南省| 利辛县| 新营市| 夏津县| 成武县| 邻水| 策勒县| 策勒县| 德格县| 会理县| 德格县| 肇东市| 嘉荫县| 古浪县| 攀枝花市| 高州市| 濮阳县| 濉溪县| 疏附县| 阳高县| 博客| 商河县| 拉孜县| 赞皇县| 安福县| 钦州市| 永年县| 包头市| 七台河市| 滕州市| 亳州市| 弋阳县| 苏尼特左旗| 汉寿县| 山东省| 灯塔市| 手游| 威信县| 嵩明县| 开化县|