linux計畫任務

2021-09-26 02:19:16 字數 3674 閱讀 1828

未來的某個時間執行一次任務,或者週期性執行某個任務,執行結果會通過郵件通知。

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...