亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

在Linux中怎么使用at命令安排任務

發布時間:2021-11-08 13:42:03 來源:億速云 閱讀:203 作者:小新 欄目:建站服務器

這篇文章主要介紹了在Linux中怎么使用at命令安排任務,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

當你希望 命令或 腳本在某個特定時間運行時,你不需要將手指放在鍵盤上盤旋等待按下回車鍵,或者是在特定時間坐在辦公桌前。相反,你可以通過 at 命令來設置任務。在本文中,我們將研究如何使用 at 來安排任務,如何精確地選擇任務希望運行的時間,以及如何使用 at來查看安排運行的任務。

at vs cron

對于那些使用 cron 在 Linux 系統上安排任務的人來說,at 命令類似于 cron,因為你可以在選定的時間調度任務,但是 cron 用于定期運行的作業 —— 甚至是每年僅一次。大多數 cron 作業的頻率都設置為每天、每周或每月運行一次,不過你可以控制運行的頻率和時間。

另一方面,at 命令用于僅運行一次的任務。想在午夜重啟系統?沒問題,只要你有適當的權限,at 可以為你完成此操作。如果你希望系統在每個星期六凌晨 2 點重啟,那么改用 cron。

使用 at

at 命令很容易使用,只需記住幾件事。一個簡單使用 at 的例子類似于這樣:

$ at 5:00PM
at> date >> thisfile
at> <EOT>

在輸入 at 和應該運行命令的時間,at 會提示你在設定時間會運行該命令(此例中是 date 命令)。輸入 ^D(Ctrl + d)來完成請求。

假設我們在下午 5 點之前設置這個 at 命令,那么這個日期和時間將在當天下午 5 點添加到名為 thisfile 文件的末尾。否則,該命令將在第二天下午 5 點運行。

與 at 命令進行交互時,可以輸入多個命令。如果你要同時運行多個命令,只需輸入多個命令行即可:

$ at 6:22
warning: commands will be executed using /bin/sh
at> echo first >> thisfile
at> echo second >> thisfile
at>

在上面的命令中,我們使用了一個普通的用戶賬戶,將一些簡單的文本添加到該用戶主目錄的文件中。如果在上午 6:22 之后運行這些命令,那么命令會在第二天運行,因為 6:22 表示上午 6:22。如果你想在下午 6:22 運行,使用 6:22 PM 或者 18:22。6:22 PM 這樣也是可以工作的。

你也可以通過使用 at 來安排命令在指定的日期或時間運行,例如 10:00AM April 15 2021或 noon + 5 days(從今天起 5 天內的中午運行),以下是一些例子:

at 6PM tomorrow
at noon April 15 2021
at noon + 5 days
at 9:15 + 1000 days

在指定要運行的命令并按下 ^D 后,你會注意到 at 命令為每個請求分配了一個作業編號,這個數字將顯示在 at 命令的作業隊列中。

$ at noon + 1000 days
warning: commands will be executed using /bin/sh
at> date >> thisfile
at> 
job 36 at Tue Dec 27 12:00:00 2022 <== job # is 36

檢查隊列

你可以使用 atq(at queue)命令來查看 at 作業隊列:

$ atq
32 Thu Apr 2 03:06:00 2020 a shs
35 Mon Apr 6 12:00:00 2020 a shs
36 Tue Dec 27 12:00:00 2022 a shs
34 Thu Apr 2 18:00:00 2020 a shs

如果你需要取消隊列中的一個作業,使用 atrm(at remove)命令和作業編號:

$ atrm 32
$ atq
35 Mon Apr 6 12:00:00 2020 a shs
36 Tue Dec 27 12:00:00 2022 a shs
34 Thu Apr 2 18:00:00 2020 a shs

你可以使用 at -c 命令來查看安排任務的詳細信息,其它詳細信息(活動的搜索路徑等)也可以看到,但是輸出的最后一行將顯示計劃運行的命令。

$ at -c 36 | tail -6
cd /home/shs || {
echo 'Execution directory inaccessible' >&2
exit 1
}
date >> thisfile

注意,該命令顯示首先會測試是否可以通過 cd 命令進入用戶目錄。如果不可以,作業將退出并顯示錯誤。如果可以,則運行在 at 中指定的命令。它將命令視為 “進入 /home/shs 或退出并顯示錯誤”。

以 root 身份運行作業

要以 root 身份運行 at 作業,只需將 sudo 與你的 at 命令一起使用,如下所示:

$ sudo at 8PM
[sudo] password for shs:
warning: commands will be executed using /bin/sh
at> reboot now
at> 
job 37 at Wed Apr 1 16:00:00 2020

注意,root 的任務以 root 作為執行者顯示在隊列中。

35 Mon Apr 6 12:00:00 2020 a shs
36 Tue Dec 27 12:00:00 2022 a shs
37 Wed Apr 1 20:00:00 2020 a root <==

運行 腳本

你還可以使用 at 命令來運行腳本,這里有一個例子:

$ at 4:30PM
warning: commands will be executed using /bin/sh
at> bin/tryme
at>

禁止使用 at 命令

/etc/at.deny 文件提供了一種禁止用戶使用 at 命令的方法。默認情況下,它可能會包含一個不允許的賬戶列表,例如 ftp 和 nobody。可以使用 /etc/at.allow 文件執行相反的操作,但是通常只配置 at.deny 文件。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“在Linux中怎么使用at命令安排任務”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

AI

原阳县| 桑日县| 宿松县| 壤塘县| 揭阳市| 化德县| 阆中市| 准格尔旗| 米脂县| 海安县| 松滋市| 竹北市| 天台县| 胶州市| 武穴市| 孝昌县| 察雅县| 涪陵区| 阳朔县| 衡阳市| 尤溪县| 河曲县| 彭水| 彝良县| 仁寿县| 昆山市| 宜兰县| 道孚县| 朝阳市| 古浪县| 南丰县| 棋牌| 新化县| 金湖县| 盈江县| 莲花县| 贵阳市| 五寨县| 定远县| 英山县| 广元市|