前言:定時任務一共有兩種:at 和cron。 其中at只能執行一次、cron可周期性的執行。
1、at用法
舉例子:在今天的8點45執行某個任務 (這里的時間是以當前linux系統的時間為依據的,可以先使用date命令查看linux當前的時間)
輸入命令:at 08:45 today 寫完后回車。它會讓你輸入你要執行什么任務命令 這時假設我輸入 echo ‘hello>test.txt (這命令是指我要把hello這個單詞寫到test.txt這個文件里面去) 輸完之后再按ctrl+d就表示任務交代完畢。
擴展:時間格式還有很多種,如:
- 指定在2021年3月6號2點執行 02:00 2021-03-06
- 5分鍾后執行 Now +5 minutes
- 3天后的下午5點種執行 5pm + 3days
- 查看任務列表命令:atq (只顯示還沒執行的命令)
- 刪除任務:atrm 3 (這里的3是任務列表中任務的排序)
- 它的執行原理:它會把我們要它執行的任務命令生成對應的shell腳本、並把腳本放到目錄 /var/spool/at下面 最后atd去檢查執行
注意:root用戶能查看到所有用戶的任務而非root用戶只能查看這句的任務
2、crontab的用法
舉例子:任務為 每天半夜0:30運行backup命令
輸入命令 crontab -e 此時會進入到編輯模式--->我們再輸內容:30 0 * * * backup 然后保存退出 這樣就完成了
- 查看當前有哪些cron命令: crontab -l
- 檢查執行: crond
- 刪除任務: crontab -e 然后刪除對應的任務的行、保存文件退出即可
- 命令解析可參考下圖:*號指任意