crontab學習筆記

一、什麼是crontab

  crontab是linux和unix常見的一種設置定時執行某腳本的命令,能夠執行python,sh等腳本;java

二、爲何要用crontab

  常常遇到的需求是定時掃描數據庫數據,而後對那些執行過程當中有問題的步驟拿出來發郵件給相應的管理員,或者定時清理數據庫大表數據遷移到歷史表等需求;因爲我是學java的第一反應就是寫一個定時任務去作,可是這樣有一個比較致命的缺陷:不支持分佈式,能夠解決的辦法是單獨用一臺服務器去部署這些定時任務(通常的企業沒有這麼土豪),可是比較簡單的是用python寫一個腳本,而後用crontab寫一個定時執行的腳本命令去執行腳本python

三、示例命令

  crontab [-u user] filelinux

 crontab [-u user] [-i] (-e/-l/-r)數據庫

 使用-u的命令只有root用戶纔有權限使用,能夠指定用戶服務器

 若是不使用-u那麼就是默認當前用戶分佈式

 -i命令是可選的,使用-i以後,刪除crontab腳本時會給出提示spa

 -e 至關因而用vi編輯一個crontab命令,編輯完能夠像vi一個文件同樣保存,默認保存在/var/spool/crontab文件夾下,該用戶通常只有root用戶有權限進入unix

 -l 列出用戶的crontab腳本,若是沒有用-u指定用戶,那麼默認當前用戶crontab

 -r 刪除用戶的crontab腳本,若是沒有用-u指定用戶,那麼默認當前用戶部署

 file是指將你寫的腳本加載到crontab中做爲crontab命令去執行——這個命令沒有親自寫過,後續補上

四、示例crontab腳本

 * * * * * python /aaa/bbb/ccc/python.py >> /aaa/bbb/ccc/python.log2>&1

 前面五個星分別表明分鐘,小時,日,月,星期(0-6) 

 後面是執行腳本的命令

 若是是每隔幾分鐘執行那就是*/10 * * * * 

相關文章
相關標籤/搜索