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

1、先來一個小小的例子

查看當前路徑:

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

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

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

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

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

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

/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 定時任務,每分鐘觸發:

[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腳本的是追加的
保存後提示已經裝載了新的定時任務

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

再次查看定時任務列表,可以看到定時任務已經添加

[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文件

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

可以看到最近一次的寫入時間。

2、看看crontab 的時間表達式

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

bVlbOI

然後來幾個實際的例子:

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

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

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

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

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

3、其他命令介紹

名稱 : 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的目錄。

4、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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章