Linux 下執行定時任務 crontab 命令詳解

一、先來一個小小的例子

查看當前路徑:css

全選複製放進筆記[root@root test]# pwd/home/admin/test [root@root test]# crontab -l

查看當前用戶的定時任務 也能夠 crontab -uroot -l查看指定用戶的定時任務。
千萬不要忘了中間的 sh 表示用戶拿什麼來執行命令sql

00 02 * * * sh /home/admin/optbash/dailyBackup.sh
00 02 * * * sh /home/admin/optbash/deleteDebugSql.sh

創建一個用定時任務跑的bash腳本:vim

[root@root test]# touch test.sh[root@root test]# vim test.sh

編輯以下內容,將系統當前時間輸出到 console.txt 文件而後保存,增長可執行權限segmentfault

/bin/echo `date` > /home/admin/test/console.txt
[root@root test]# lltotal 8-rw-r--r-- 1 root root 29 Mar 27 21:31 console.txt
-rwxr-xr-x 1 root root 48 Mar 27 21:28 test.sh
[root@root test]# chmod +x ./test.sh

追加 crontab 定時任務,每分鐘觸發:bash

[root@root test]# crontab -e
00 02 * * * sh /home/admin/optbash/dailyBackup.sh
00 02 * * * sh /home/admin/optbash/deleteDebugSql.sh*  *  * * * sh /home/admin/test/test.sh

前面是已經存在的定時任務,後面執行test.sh腳本的是追加的
保存後提示已經裝載了新的定時任務markdown

"/tmp/crontab.HauiiV" 3L, 143C written
crontab: installing new crontab

再次查看定時任務列表,能夠看到定時任務已經添加ide

[root@root test]# crontab -l00 02 * * * sh /home/admin/optbash/dailyBackup.sh00 02 * * * sh /home/admin/optbash/deleteDebugSql.sh
*  *  * * * sh /home/admin/test/test.sh
[root@root test]#

查看console.txt有沒有每分鐘寫入console.txt文件ui

[root@root test]# vim console.txtFri Mar 27 21:40:01 EDT 2015

能夠看到最近一次的寫入時間。spa

二、看看crontab 的時間表達式

基本格式 :*  *  *  *  *  command
分 時 日 月 周 命令

bVlbOI

而後來幾個實際的例子:rest

一、每分鐘執行一次            
*  *  *  *  * 二、每隔一小時執行一次        
00  *  *  *  * or* */1 * * *  (/表示頻率)

三、每小時的15和30分各執行一次 
15,45 * * * * (,表示並列)

四、在天天上午 8- 11時中間每小時 15 ,45分各執行一次
15,45 8-11 * * * command (-表示範圍)

五、每一個星期一的上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1 command

六、每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * * command

三、其餘命令介紹

名稱 : crontab使用權限 : 全部使用者

使用方式 :crontab file [-u user]-用指定的文件替代目前的crontab。crontab-[-u user]-用標準輸入替代目前的crontab.crontab-1[user]-列出用戶目前的crontab.crontab-e[user]-編輯用戶目前的crontab.crontab-d[user]-刪除用戶目前的crontab.crontab-c dir- 指定crontab的目錄。

四、crond 安裝與配置服務

安裝crontab:

yum install crontabs

服務操做說明:

/sbin/service crond start //啓動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啓服務

/sbin/service crond reload //從新載入配置

查看crontab服務狀態:

service crond status手動啓動crontab服務:

service crond start查看crontab服務是否已設置爲開機啓動,執行命令:

ntsysv

加入開機自動啓動:

chkconfig –level 35 crond on

https://segmentfault.com/a/1190000002628040

相關文章
相關標籤/搜索