linux crontab是用來定期執行程式的命令。
當安裝完成作業系統之後,預設便會啟動此任務排程命令。
crond命令每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
而linux任務排程的工作主要分為以下兩類
1、系統執行的工作:系統週期性所要執行的工作,如備份系統資料、清理快取
2、個人執行的工作:某個使用者定期要做的工作,例如每隔10分鐘檢查郵件伺服器是否有新信,這些工作可由每個使用者自行設定
crontab file是用來定義定時任務條目的檔案,在linux中,這個檔案有存在幾個地方系統執行的工作 updatedb、whatis、/etc/cron.d/*
使用者自己定義的任務檔案 /var/spool/cron/username
crontab 【選項】
-u user:用來設定某個使用者的crontab服務,例如,「-u ixdba」表示設定ixdba使用者的crontab服務,此引數一般有root使用者來執行。
file:file是命令檔案的名字,表示將file做為crontab的任務列表檔案並載入crontab。如果在命令列中沒有指定這個檔案,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
-e:編輯某個使用者的crontab檔案內容。如果不指定使用者,則表示編輯當前使用者的crontab檔案。
-l:顯示某個使用者的crontab檔案內容,如果不指定使用者,則表示顯示當前使用者的crontab檔案內容。
-r:從/var/spool/cron目錄中刪除某個使用者的crontab檔案,如果不指定使用者,則預設刪除當前使用者的crontab檔案。
-i:在刪除使用者的crontab檔案時給確認提示。
雖說是在linux啟動時就會預設開啟此服務,但相應的服務控制也是需要了解的,計畫任務相應的服務是crond.service。
[root@linus ~
]# systemctl stop crond.service
[root@linus ~
]# systemctl start crond.service
[root@linus ~
]# systemctl status crond.service
分為7個字段:分 時 日 月 周 使用者 命令
分:0-59取值
時:0-23取值,24點即使0點
日:1-31取值
月:1-12取值,或者直接月份的英文單詞
周:0-6取值,0或者7表示星期天
特殊符號的含義:
* : 任意/每(非常常用)
/:指定時間的間隔頻率;*/10=每隔十分鐘(位於分欄位);0-23/2=每隔兩小時
-:代表從某個數字到某個數字:8-17=8號到17號(日欄位)
,:分開幾個離散的數字:6,10-13,20=6號,10號到13號,20號(日欄位)
1**
** ls #指定每1分鐘執行一次ls命令205
*** ls #指定每天的 5
:20 執行ls命令 307
8** ls #指定每月8號的7:30分執行ls命令
例1:以root使用者,建立和執行計畫任務,檢視任務並刪除
[root@linus ~
]# crontab -u root -e1*
*** root echo "hello world"
[root@linus ~
]# crontab -l1*
*** root echo "hello world"
[root@linus ~
]# crontab -r #預設刪除最上面一列計畫
[root@linus ~
]# crontab -l
no crontab for root
例2:每週日晚上11點進行備份系統日誌檔案
[root@linus ~
]# crontab -e*23
**7 cp /
var/log/messages /backup/system_log.txt
*[root@linus ~
]# crontab -l*23
**7 cp /
var/log/messages /backup/system_log.txt
注:若不指定建立任務的使用者,和執行此計畫任務的使用者,預設都是當前使用者執行。
例3:以root使用者每天晚上十點執行指令碼計畫
[root@linus ~
]# crontab -e*22
*** sh /script/backup.sh
*[root@linus ~
]# crontab -u root -l*22
*** sh /script/backup.sh
注:登入使用者為root,檢視使用者即是我們建立的計畫任務
例4:以zhangsan普通使用者的身份在每天下午三點在其目錄下建立a.txt檔案
[root@linus ~
]# crontab -u zhangsan -e*15
*** zhangsan touch /home/zhangsan/
1.txt
[root@linus ~
]# crontab -u zhangsan -l*15
*** zhangsan touch /home/zhangsan/
1.txt
cron計畫任務
1.列出計畫列表 crontab l u mysql 具體的檔案放在 var spool cron root 使用者 2.修改計畫 crontab e 3.刪除當前 crontab 檔案 crontab r 4.計畫任務意思 第1列分鐘1 59 第2列小時1 23 0表示子夜 第3列日1 31 第4...
計畫任務cron
原定的計畫任務 0 0 cd preload nohup sh preload4.sh ip.list dev null 2 1 缺省會在00 00點準時做預載入 指令碼名稱preload4.sh 預載入檔案 txt 預載入裝置 ip.list 客戶定期會有預載入功能 每次只需要登陸裝置 更換 tx...
cron計畫任務
cron計畫任務 任務計畫 比如每天什麼時間固定來備份資料等等,類似的計畫 1 crontab l命令 可以檢視到當前使用者都有哪些任務計畫 2 crontab u aming l 指定檢視aming使用者的任務計畫 3 crontab e 編輯任務計畫,舉例如下 注 如上圖內容 10 2 20 時...