CentOS crontab定时任务不执行的解决
| crontab 配置文件 SHELL=/bin/bash 例如: */5 * * * * root /usr/libexec/atrun minute(m)? ? ? : ?代表一小時內的第幾分,范圍 0-59。? ? crond 開機啟動 crond 啟動/關閉腳本 /etc/init.d/crond help crond 加入到開機啟動 chkconfig crond on ? crontab定時任務不執行問題 排查原因步驟如下: 首先,確認服務器是否開啟定時任務計劃服務,只有root用戶才能對crond服務進行開啟和關閉 [root@mimvp-bj script]#?service crond status ? 請確保crond狀態為?is running…? 如果crond狀態為?crond is stopped?,則定時任務服務不會生效故無法執行,我遇到的crontab不執行就是這個原因 ? crontab 常見錯誤的幾個問題 編輯?crontab : # m h ?dom mon dow ? command Ctrl + O (寫入)——》 Enter鍵(保存文件名)——》 Ctrl + X(退出)? 輸入查看命令: crontab -l # m h ?dom mon dow ? command ? 如果遇到shell語法錯誤 <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(請參見上面 crontab編輯示例SHELL=/bin/bash) 或者參見:?LINUX – BASH Syntax Error ? 如果遇到路徑錯誤 在 /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 這是因為你在crontab中使用了絕對路徑執行腳本?top10_all.sh,因此在腳本?top10_all.sh?中引用的其它腳本也都需要使用絕對路徑,才能被crontab找到并執行。 那么該如何避免絕對路徑呢,推薦采用如下格式: 30 * * * * cd /home/barry/top800/top10/top10_fruits/ && ./top10_all.sh(推薦用此方式) 先進入該目錄,然后在執行腳本;否則,執行腳本中的其它腳本都需要加絕對路徑 轉載請保留固定鏈接:?http://www.linuxeye.com/Linux/2248.html |
總結
以上是生活随笔為你收集整理的CentOS crontab定时任务不执行的解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 童禹坤(说一说童禹坤的简介)
- 下一篇: 程序员的10条黄金法则,你懂?