crontab配置及簡單應用

crontab

crontab并不陌生茁帽,在*nix的操作系統(tǒng)之中,使用它設置周期性被執(zhí)行的指令.每個用戶可以擁有自己的crontab文件奥喻;
同時慕嚷,操作系統(tǒng)保存一個針對整個系統(tǒng)的crontab文件哥牍,該文件通常存放于/etc或者/etc之下的子目錄中毕泌。

pi@raspberrypi:/etc $ ls -al|grep cron
drwxr-xr-x   2 root root    4096 Jan  1  1970 cron.d
drwxr-xr-x   2 root root    4096 Jan  1  1970 cron.daily
drwxr-xr-x   2 root root    4096 Jan  1  1970 cron.hourly
drwxr-xr-x   2 root root    4096 Jan  1  1970 cron.monthly
drwxr-xr-x   2 root root    4096 Jan  1  1970 cron.weekly
-rw-r--r--   1 root root     722 Sep  5  2015 crontab

基本用法

  • -u user:用來設定某個用戶的crontab服務;
  • file:file是命令文件的名字,表示將file做為crontab的任務列表文件并載入crontab嗅辣。如果在命令行中沒有指定這個文件撼泛,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,并將它們載入crontab澡谭。
  • -e:編輯某個用戶的crontab文件內容愿题。如果不指定用戶,則表示編輯當前用戶的crontab文件译暂。
  • -l:顯示某個用戶的crontab文件內容抠忘,如果不指定用戶撩炊,則表示顯示當前用戶的crontab文件內容外永。
  • -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶拧咳,則默認刪除當前用戶的crontab文件伯顶。
  • -i:在刪除用戶的crontab文件時給確認提示。

最常用的參數(shù)有-l 查詢-e 編輯

配置格式

  • 第1列分鐘0~59
  • 第2列小時0~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)
  • 第6列要運行的命令

配置示例

每分鐘執(zhí)行一次:

* * * * * /path/to/your/app.sh

每半分鐘執(zhí)行一次:

*/2 * * * * /path/to/your/app.sh

每小時的第3和第15分鐘執(zhí)行:

3,15 * * * * /path/to/your/app.sh

在上午8點到11點的第3和第15分鐘執(zhí)行:

3,15 8-11 * * * /path/to/your/app.sh

每周六23點執(zhí)行:

0 23 * * 6 /etc/init.d/smb restart

簡單應用

檢測并自動重啟服務

crontab -e
*/2 * * * * isfound=$(ps | grep "redsocks" | grep -v "grep"); if [ -z "$isfound" ]; then echo "$(date): restart redsocks...">>/tmp/log/redsocks-mon.log && /etc/init.d/redsocks restart; fi

檢測并自動重啟tomcat

*/2 * * * * sh /path/to/tomcat_monitor.sh
vi tomcat_monitor.sh
#!/bin/sh
source /home/user/.bash_profile
export PATH=$PATH:.:/bin:/sbin:/usr/bin:
pid_count=`ps aux|grep java|grep your-tomcat|grep -v grep|wc -l`
if [ $pid_count -ne 1 ]; then
        echo "stop download-tomcat, time: `date`"
        if [ $pid_count -gt 0 ]; then
                 ps aux|grep java|grep your-tomcat|grep -v grep|awk '{print $2}'|xargs kill
        fi
        sh /path/to/tomcat/bin/startup.sh
        echo "start download-tomcat finished, time: `date`"
fi

清理30天前的tomcat日志

crontab -e
0 23 * * * sh /path/to/clean_log.sh
vi clean_log.sh
DATE=$(date -d "30 days ago" +%Y-%m-%d)
echo $DATE
rm /path/to/tomcat/logs/*$DATE*

備份并清理catalina.out

crontab -e
00 22 * * * sh /path/to/clean_catalina_out.sh
vi clean_catalina_out.sh
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cp /path/to/tomcat/logs/catalina.out /path/to/tomcat/logs/catalina.out.$y-$m-$d
echo > /path/to/tomcat/logs/catalina.out
exit

注意設置環(huán)境變量

由于crontab執(zhí)行任務時不加載任何環(huán)境變量骆膝,可以在腳本中加入必要的環(huán)境變量祭衩,甚至ulimit設置,以保證程序可以正常執(zhí)行阅签。

vi start.sh

!/bin/sh
source /etc/profile
export YOUR_ENV=value
ulimit -n 10240
/path/to/your/app/run

參考文檔

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末掐暮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子政钟,更是在濱河造成了極大的恐慌路克,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件养交,死亡現(xiàn)場離奇詭異精算,居然都是意外死亡,警方通過查閱死者的電腦和手機碎连,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門灰羽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鱼辙,你說我怎么就攤上這事廉嚼。” “怎么了倒戏?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵怠噪,是天一觀的道長。 經(jīng)常有香客問我峭梳,道長舰绘,這世上最難降的妖魔是什么蹂喻? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮捂寿,結果婚禮上口四,老公的妹妹穿的比我還像新娘。我一直安慰自己秦陋,他們只是感情好蔓彩,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著驳概,像睡著了一般赤嚼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上顺又,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天更卒,我揣著相機與錄音,去河邊找鬼稚照。 笑死蹂空,一個胖子當著我的面吹牛,可吹牛的內容都是我干的果录。 我是一名探鬼主播上枕,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼弱恒!你這毒婦竟也來了辨萍?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤返弹,失蹤者是張志新(化名)和其女友劉穎锈玉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體琉苇,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡嘲玫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了并扇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片去团。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖穷蛹,靈堂內的尸體忽然破棺而出土陪,到底是詐尸還是另有隱情,我是刑警寧澤肴熏,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布鬼雀,位于F島的核電站,受9級特大地震影響蛙吏,放射性物質發(fā)生泄漏源哩。R本人自食惡果不足惜鞋吉,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望励烦。 院中可真熱鬧谓着,春花似錦、人聲如沸坛掠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屉栓。三九已至舷蒲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間友多,已是汗流浹背牲平。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留夷陋,地道東北人欠拾。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓胰锌,卻偏偏與公主長得像骗绕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子资昧,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容

  • Linux定時任務Crontab命令詳解 linux 系統(tǒng)則是由 cron (crond) 這個系統(tǒng)服務來控制的酬土。...
    孫燕超閱讀 1,823評論 0 4
  • 前一天學習了 at 命令是針對僅運行一次的任務,循環(huán)運行的例行性計劃任務格带,linux系統(tǒng)則是由 cron (cro...
    Zcclucky閱讀 578評論 0 0
  • Linux定時任務Crontab命令詳解linux 系統(tǒng)則是由 cron (crond) 這個系統(tǒng)服務來控制的撤缴。L...
    時待吾閱讀 399評論 0 0
  • Linux 系統(tǒng)提供了使用者控制計劃任務的命令 :crontab 命令。 一叽唱、crond簡介 crond是linu...
    happeace閱讀 1,773評論 0 53
  • 簡書不維護了屈呕,歡迎關注我的知乎:波羅學的個人主頁 原文地址 此篇技術博文主要介紹的是crontab,Linux下的...
    波羅學的草稿閱讀 5,997評論 0 13