未來的某個時間執行一次任務,或者週期性執行某個任務,執行結果會通過郵件通知。
at batch
crontab
service crond status:檢視crond狀態
crond是linux下用來週期性的執行某種任務或等待處理某些事件的乙個守護程序,與windows下的計畫任務類似
crond程序定期(每分鐘)檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。使用者在cron表,也被稱為crontab檔案)指定了定時任務,crontab也就是我們常見的定時任務設定命令。linux下的任務排程分為兩類,系統任務排程和使用者任務排程。
[root@centos6 ~]# service crond status
crond (pid 1373) is running...
[root@centos7 ~]# service crond status
redirecting to /bin/systemctl status crond.service
● crond.service - command scheduler
loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
active: active (running) since wed 2019-08-14 09:02:58 cst; 16min ago
main pid: 6693 (crond)
cgroup: /system.slice/crond.service
└─6693 /usr/sbin/crond -n
aug 14 09:02:58 centos7.3 systemd[1]: started command scheduler.
aug 14 09:02:59 centos7.3 crond[6693]: (cron) info (random_delay will be sc....)
aug 14 09:03:01 centos7.3 crond[6693]: (cron) info (running with inotify su...t)
hint: some lines were ellipsized, use -l to show in full.
系統任務調動系統週期性所要執行的工作,比如寫快取資料到硬碟、日誌清理等。/etc/crontab檔案就是系統任務排程的配置檔案。
/etc/crontab
使用者任務排程
使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等。使用者可以使用 crontab 工具來定製自己的計畫任務。所有使用者定義的crontab檔案都被儲存在/var/spool/cron目錄中
/var/spool/cron
mail -s 「郵件主題」 -c"抄送位址" -b 密送位址 -f 「傳送人位址」 -f 傳送人姓名
echo 「test」 | mail -s test nebulalinux03
1.時間定義
hh:mm 12:00
noon teatime
am pm 8am 9pm
2019-8-11 2019/8/11
+ 5 minutes hours days weeks
today tomorrow
2.語法結構
at 選項 引數
- q 列出任務
- f 從檔案中讀取
- l 列出任務
- d 指定刪除
- v 列出已執行但未刪除的任務
- v 列出版本號
- c 檢視作業內容
atqatrm
cron命令.
時間表示法:
1.特定值:
40 8 * * *
2.*
* 8 * * *
3. 連續值
8-10 9-17
4.離散值
8,10,12
5.定義時間點 時間步長
/4注意:定義步長需要能被整除
5 * * * * 每小時執行一次,每小時的第五分鐘執行一次
3 4 * * 5 每週執行一次,每週五的三點四分執行一次
5 6 7 * * 每月執行一次,每月的七日的六時五分執行一次
7 8 9 10 * 每年執行一次 ,每年的十月九日的八時七分執行一次
8 9 * * 3,4 每週執行一次,每週三周四的九時八分執行一次
0 8,9,20 * * 6,7 每週執行一次,每週六周七的八點,九點,二十點執行一次
*/5 * * * * 每隔五分鐘執行一次
crontab 語法結構:
-e:編輯任務
-l:列出任務列表
-r:移除任務
-i:移除時確認,與-r一起使用
-u:1在. crontab -e裡編寫
1、每一分鐘執行一次commond
2、每小時的第3分鐘和第15分鐘執行一次command
3、從早上的8點到12點的第3分鐘和第15分鐘執行一次command
4、每隔兩天的上午11點到18點之間的第3分鐘和第15分鐘執行一次command
5、每晚18點重啟網絡卡配置
6、每週天凌晨1點重啟apache 服務
7、每小時重啟一次 commond 服務
8、每月的4號與每週的周一到周五執行網絡卡重啟
9、每年的1月1號重啟網絡卡
10、每晚的11點到早上7點之間,每小時重啟一次網絡卡
計畫任務規範
1.指令碼要規範,指令碼存放位置要規範,便於維護
2.定時任務要寫注釋
3.執行的指令碼要帶絕對路徑
4.執行結果的標準輸出或者錯誤輸出 >/dev/null
5.可以以命令完成的任務,也要寫指令碼
6.分使用者執行
anacron
Linux計畫任務
1.at命令 指定乙個時間執行乙個任務。2.cron命令 根據乙個時間表自動執行任務。3.anacron命令 在乙個指定時間間隔錯過後自動執行任務。at命令 安排乙個任務在未來執行,需要乙個系統後台atd程序。4.如果這個程序沒有開啟,那麼執行 etc init.d atd restart chkc...
Linux 計畫任務
at命令可以在某一指定時間排程一次性作業命令格式 at q x l f file d v time引數含義 q使用指定的佇列來儲存at資料,預設儲存在a佇列,隊列表號為a z,a z總52個 l列出所有的at計畫任務,等同於atq命令 d刪除at計畫任務,等同於atrm v列出所有已經完成單尚未刪除...
linux計畫任務
cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。由於cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動 關閉這個服務 sbin service crond start 啟動服務 sbin service crond stop 關閉服務 sbin se...