linux計劃任務分爲兩種:linux
一、臨時計劃任務,從標準輸入或一個指定的文件讀取命令,這些命令在之後某個時間用 /bin/sh 執行。shell
命令:atvim
用法:at 選項 時間bash
選項
-l :查看at的任務列表 at -l
-c :查看at任務的內容,用法:at -c 任務編號
-d:刪除at任務 at -d 任務編號
退出at編輯模式,ctrl+dcrontab
示例:[root@localhost ~]# at 10:00
at> mkdir /dir1
at> <EOT>it
配置文件/etc/at.deny拒絕用戶登陸,/etc/at.allow 允用戶登陸許io
vim /etc/at.deny
tom登錄
[root@localhost /]# su - tom 變量
[tom@localhost ~]$ at 12:00配置
You do not have permission to use at.
[tom@localhost ~]$ exit
登出
[root@localhost /]# su - harry
[harry@localhost ~]$ at 12:00
at>
########################################################
二、crond 循環性計劃任務 週期性計劃任務
crontab 命令來管理計劃任務
語法:
crontab 選項
-e:編輯計劃任務
-u:指定用戶
-l:查看計劃任務
-r:刪除計劃任務(將所有計劃任務刪除)
注意:
一、crond服務任務循環時間最少精確到分鐘,不能再少了
二、crontab編輯時,變量不生效
crontab -e 進入了計劃任務編輯模式,模式相似vim,使用vim方式直接編輯便可。
* * * * * 命令
分 時 日 月 周 任務
0-59 0-23 1-31 1-12 0-7
#特殊符號
*:表示每一天/任意一天
,:逗號,表示分隔時間。好比天天的3點2分和6點2分時候執行腳本1.sh 2 3,6 * * * 1.sh
-減號:表示連續的時間。 天天3點至6點,每小時的第2分鐘,執行腳本 2 3-6 * * * 1.sh
/斜線:表示每隔多長時間。 每兩個小時 第2分鐘。 2 */2 * * * 1.sh
例子:
#天天的11:34分時候。在根目錄下建立一個file10
34 11 * * * /usr/bin/touch /file10
#每7天 凌晨2:10分,執行腳本2.sh
10 2 */7 * * /2.sh
#每週一的,早上6:10 執行腳本 /2.sh
10 6 * * 1
#每5分鐘執行一次
*/5 * * * *
#天天9:30分時候,以當前時間(年月日),建立一個文件
vim 1.sh#!/bin/bash #shell解釋器是bashtouch /opt/$(date +%Y%m%d) #內容