linux at shell,shell 用at命令来计划执行作业
at命令允許指定Linux系統何時運行腳本。at命令會將作業提交到隊列中,指定shell何時運 行該作業。at的守護進程atd會以后臺模式運行,檢查作業隊列來運行作業。大多數Linux發行 版會在啟動時運行此守護進程。
atd守護進程會檢查系統上的一個特殊目錄(通常位于/var/spool/at)來獲取用at命令提交的 作業。默認情況下,atd守護進程會每60秒檢查一下這個目錄。有作業時,atd守護進程會檢查作業設置運行的時間。如果時間跟當前時間匹配,atd守護進程就會運行此作業。
當作業在Linux系統上運行時,顯示器并不會關聯到該作業。取而代之的是,Linux系統會將
提交該作業的用戶的電子郵件地址作為STDOUT和STDERR。任何發到STDOUT或STDERR的輸出都 會通過郵件系統發送給該用戶。
使用e-mail作為at命令的輸出極其不便。at命令利用sendmail應用程序來發送郵件。如 果你的系統中沒有安裝sendmail,那就無法獲得任何輸出,因此在使用at命令時,最好在腳本 中對STDOUT和STDERR進行重定向.
code
macname@localhost Desktop %cat test.sh
#!/bin/bash
# Testusingat command
#
echo"This script ran at $(date +%B%d,%T)" > test13b.out echo >> test13b.outsleep5echo"This is the script's end..." >> test13b.out% macname@localhost Desktop %macname@localhost Desktop%
#創建at任務
macname@localhost Desktop % at -m -f test.sh now
job1 at Mon Nov 30 22:17:11 2020macname@localhost Desktop%macname@localhost Desktop%
#查看at任務
macname@localhost Desktop %atq1 Mon Nov 30 22:17:00 2020macname@localhost Desktop%
#刪除at任務
macname@localhost Desktop % atrm 1macname@localhost Desktop%
添加多個at任務
macname@localhost Desktop % at -m -f test.sh 22:20job2 at Mon Nov 30 22:20:00 2020macname@localhost Desktop%atq2 Mon Nov 30 22:20:00 2020macname@localhost Desktop%macname@localhost Desktop% at -m -f test.sh teatime
job3 at Tue Dec 1 16:00:00 2020macname@localhost Desktop% at -m -f test.sh tomorrow
job4 at Tue Dec 1 22:21:00 2020macname@localhost Desktop%atq3 Tue Dec 1 16:00:00 2020
2 Mon Nov 30 22:20:00 2020
4 Tue Dec 1 22:21:00 2020macname@localhost Desktop%
總結
以上是生活随笔為你收集整理的linux at shell,shell 用at命令来计划执行作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肾宝片多少钱啊?
- 下一篇: kali linux安装wine32,永