CentOS crontab定时任务不执行的解决
| crontab 配置文件 SHELL=/bin/bash 例如: */5 * * * * root /usr/libexec/atrun minute(m)? ? ? : ?代表一小時(shí)內(nèi)的第幾分,范圍 0-59。? ? crond 開機(jī)啟動(dòng) crond 啟動(dòng)/關(guān)閉腳本 /etc/init.d/crond help crond 加入到開機(jī)啟動(dòng) chkconfig crond on ? crontab定時(shí)任務(wù)不執(zhí)行問題 排查原因步驟如下: 首先,確認(rèn)服務(wù)器是否開啟定時(shí)任務(wù)計(jì)劃服務(wù),只有root用戶才能對(duì)crond服務(wù)進(jìn)行開啟和關(guān)閉 [root@mimvp-bj script]#?service crond status ? 請(qǐng)確保crond狀態(tài)為?is running…? 如果crond狀態(tài)為?crond is stopped?,則定時(shí)任務(wù)服務(wù)不會(huì)生效故無法執(zhí)行,我遇到的crontab不執(zhí)行就是這個(gè)原因 ? crontab 常見錯(cuò)誤的幾個(gè)問題 編輯?crontab : # m h ?dom mon dow ? command Ctrl + O (寫入)——》 Enter鍵(保存文件名)——》 Ctrl + X(退出)? 輸入查看命令: crontab -l # m h ?dom mon dow ? command ? 如果遇到shell語法錯(cuò)誤 <code style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;"><span class="typ" style="padding: 0px; margin: 0px; color: rgb(102, 0, 102); border: 0px; vertical-align: baseline;"><span class="typ" style="padding: 0px; margin: 0px;">Syntax</span></span><span class="pln" style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline;"><span class="pln" style="padding: 0px; margin: 0px;"> error</span></span><span class="pun" style="padding: 0px; margin: 0px; color: rgb(102, 102, 0); border: 0px; vertical-align: baseline;"><span class="pun" style="padding: 0px; margin: 0px;">:</span></span><span class="pln" style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline;"><span class="pln" style="padding: 0px; margin: 0px;"> </span></span><span class="str" style="padding: 0px; margin: 0px; color: rgb(0, 136, 0); border: 0px; vertical-align: baseline;"><span class="str" style="padding: 0px; margin: 0px;">"("</span></span><span class="pln" style="padding: 0px; margin: 0px; border: 0px; vertical-align: baseline;"><span class="pln" style="padding: 0px; margin: 0px;"> unexpected </span></span></code>解決方法: 需指定shell解釋器命令:SHELL=/bin/bash(請(qǐng)參見上面 crontab編輯示例SHELL=/bin/bash) 或者參見:?LINUX – BASH Syntax Error ? 如果遇到路徑錯(cuò)誤 在 /var/spool/crontab/yanggang 中,添加了如下命令,在日志文件 /var/spool/mail/yanggang 中提示找不到 xxx.sh 路徑 30 * * * * ?/home/barry/top800/top10/top10_fruits/top10_all.sh 或 30 * * * *?bash?/home/barry/top800/top10/top10_fruits/top10_all.sh 這是因?yàn)槟阍赾rontab中使用了絕對(duì)路徑執(zhí)行腳本?top10_all.sh,因此在腳本?top10_all.sh?中引用的其它腳本也都需要使用絕對(duì)路徑,才能被crontab找到并執(zhí)行。 那么該如何避免絕對(duì)路徑呢,推薦采用如下格式: 30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.sh(推薦用此方式) 先進(jìn)入該目錄,然后在執(zhí)行腳本;否則,執(zhí)行腳本中的其它腳本都需要加絕對(duì)路徑 轉(zhuǎn)載請(qǐng)保留固定鏈接:?http://www.linuxeye.com/Linux/2248.html |
總結(jié)
以上是生活随笔為你收集整理的CentOS crontab定时任务不执行的解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 童禹坤(说一说童禹坤的简介)
- 下一篇: 剥皮鱼(说一说剥皮鱼的简介)