中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux下at命令的用法

發布時間:2021-08-11 14:17:11 來源:億速云 閱讀:157 作者:chen 欄目:系統運維

本篇內容介紹了“linux下at命令的用法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

linux at命令

用戶使用linux at命令在指定時刻執行指定的命令序列。也就是說,該命令至少需要指定一個命令、一個執行時間才能夠正常運行。linux at命令能夠只指定時間,也能夠時間和日期一起指定。需要注意的是,指定時間有個系統判別問題。比如說:用戶現在指定了一個執行時間:凌晨3:20,而發出linux at命令的時間是頭天晚上的20:00,那么究竟是在哪一天執行該命令呢?假如用戶在3:20以前仍然在工作,那么該命令將在這個時候完成;假如用戶3:20以前就退出了工作狀態,那么該命令將在第二天凌晨才得到執行。下面是linux at命令的語法格式:

at [-V] [-q 隊列] [-f 文檔名] [-mldbv] 時間

at -c 作業 [作業...]

at允許使用一套相當復雜的指定時間的方法,實際上是將POSIX.2標準擴展了。他能夠接受在當天的hh:mm(小時:分鐘)式的時間指定。假如該時間已過去,那么就放在第二天執行。當然也能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的

詞語來指定時間。用戶還能夠采用12小時計時制,即在時間后面加上AM(上午)或PM(下午)來說明是上午還是下午。

也能夠指定命令執行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必須跟在指定時間的后面。

上面介紹的都是絕對計時法,其實還能夠使用相對計時法,這對于安排不久就要執行的命令是很有好處的。指定格式為:now + count time-units ,now就是當前時間,time-units是時間單位,這里能夠是minutes(分鐘)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,究竟是幾天,還是幾小時,等等。

更有一種計時方法就是直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。下面通過一些例子來說明具體用法。

[例2] 指定在今天下午5:30執行某命令。假設現在時間是中午12:30,1999年2月24日,其命令格式如下:

at 5:30pm

at 17:30

at 17:30 today

at now + 5 hours

at now + 300 minutes

at 17:30 24.2.99

at 17:30 2/24/99

at 17:30 Feb 24

以上這些命令表達的意義是完全相同的,所以在安排時間的時候完***夠根據個人喜好和具體情況自由選擇。一般采用絕對時間的24小時計時法能夠避免由于用戶自己的疏忽造成計時錯誤的情況發生,例如上例能夠寫成:

at 17:30 2/24/99

這樣很清楚,而且別人也看得懂。

對于linux at命令來說,需要定時執行的命令是從標準輸入或使用-f選項指定的文檔中讀取并執行的。假如linux at命令是從一個使用su命令轉換到用戶shell中

執行的,那么當前用戶被認為是執行用戶,任何的錯誤和輸出結果都會送給這個用戶。但是假如有郵件送出的話,收到郵件的將是原來的用戶,也就是登錄時shell的任何者。

[例3]

$ at -f work 4pm + 3 days

在三天后下午4點執行文檔work中的作業。

$ at -f work 10am Jul 31

在7月31日上午10點執行文檔work中的作業。

在任何情況下,***用戶都能夠使用這個命令。對于其他用戶來說,是否能夠使用就取決于兩個文檔:/etc/at.allow和/etc/at.deny。

假如/etc/at.allow文檔存在的話,那么只有在其中列出的用戶才能夠使用linux at命令;假如該文檔不存在,那么將檢查/etc/at.deny文檔

是否存在,在這個文檔中列出的用戶均不能使用該命令。假如兩個文檔都不存在,那么只有***用戶能夠使用該命令;空的/etc/at.deny文檔意味著所有的用戶都能夠使用該命令,這也是默認狀態。

下面對命令中的參數進行說明。

-V 將標準版本號打印到標準錯誤中。

-q queue 使用指定的隊列。隊列名稱是由單個字母組成,合法的隊列名能夠由a-z或A-Z。a隊列是linux at命令的默認隊列。

-m 作業結束后發送郵件給執行linux at命令的用戶。

-f file 使用該選項將使命令從指定的file讀取,而不是從標準輸入讀取。

-l atq命令的一個別名。該命令用于查看安排的作業序列,他將列出用戶排在隊列中的作業,假如是***用戶,則列出隊列中的任何工作。

命令的語法格式如下:

atq [-V] [-q 隊列] [-v]

-d atrm 命令的一個別名。該命令用于刪除指定要執行的命令序列,語法格式如下:

atrm [-V] 作業 [作業...]

-c 將命令行上所列的作業送到標準輸出。

[例4] 找出系統中任何以txt為后綴名的文檔,并且進行打印。打印結束后給用戶foxy發出郵件通知取件。指定時間為十二月二十五日凌晨兩點。

首先鍵入:

$ at 2:00 12/25/99

然后系統出現at>提示符,等待用戶輸入進一步的信息,也就是需要執行的命令序列:

at> find / -name "*.txt"|lpr

at> echo "foxy:All texts have been printed.You can take them over.Good day!River" |mail -s "job done" foxy

輸入完每一行指令然后回車,任何指令序列輸入完畢后,使用組合鍵結束linux at命令的輸入。這時候屏幕將出現如下信息:

warning:command will be executed using /bin/sh.

job 1 at 1999-12-25 02:00

提醒用戶將使用哪個shell來執行該命令序列。

實際上假如命令序列較長或經常被執行的時候,一般都采用將該序列寫到一個文檔中,然后將文檔作為linux at命令的輸入來處理。這樣不容易出錯。

[例5] 上面的例子能夠修改如下:

將命令序列寫入到文檔/tmp/printjob,語句為:

$ at -f /tmp/printjob 2:00 12/25/99

這樣一來,linux at命令將使用文檔中的命令序列,屏幕顯示如下:

Warning:command will be executed using /bin/sh.

job 2 at 1999-12-25 02:00

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置

可以將這個服務在系統啟動的時候也自動啟動:

在/etc/rc.d/rc.local這個腳本的末尾加上:

/sbin/service crond start

以上是linux at命令的使用案例。

“linux下at命令的用法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

揭西县| 马关县| 东兴市| 吉林市| 武宣县| 察雅县| 湄潭县| 马关县| 平武县| 太康县| 彩票| 石门县| 温泉县| 湄潭县| 新化县| 深州市| 商水县| 毕节市| 铜陵市| 垫江县| 中卫市| 朝阳区| 准格尔旗| 江安县| 百色市| 玉山县| 凤翔县| 衡阳市| 临海市| 嘉义县| 梧州市| 石阡县| 通化县| 石河子市| 安仁县| 久治县| 晋州市| 杭锦旗| 汝南县| 垫江县| 色达县|