linux调试crontab,linux - crontab 的调试,启动thin服务器
linux - crontab 的調試,啟動thin服務器
2018-11-18 17:10
訪問量: 1059
分類:
技術
參考:https://askubuntu.com/questions/56683/where-is-the-cron-crontab-log
日志默認位置
在 /var/log/syslog 中。 grep CRON 。 如果沒有安裝MTA的話(例如 mail 程序,則基本看不到報錯內容,只能看到一個cron運行的title)
安裝sendmail
$ apt-get install sendmail 這個名令會讓系統增加MTA支持。 crontab報錯的話,默認會給管理員發送email.
運行時加上 2>&1
* * * * * sh /root/backup.sh >> /var/log/cron.log 2>&1
linux中, 1 表示 stdout, 0 表示 stdin , 2表示stderr. 2>&1 表示把出錯的內容打到正常的日志中。
所以,上面的 代碼表示,把所有的日志(stdout, stderr 的)都pipe到 /var/log/cron.log 中
對于rbenv等需要加載環境的命令
* * * * * export PATH="$HOME/.rbenv/bin:$PATH" ; eval "$(rbenv init -)"; ruby /opt/keep_rails_running.rb >> /var/log/cron.log 2>&1
需要直接export 變量。 不能用source , 會找不到。
下面是原文
很多時候我們要執行crontab命令,但是事后發現命令并沒有被執行.
原因肯定是多種多樣的.找到問題的線索:
例如,我希望在 每天凌晨2點運行某個命令:
0 2 * * * cd /var/data/zhi_dao_yuan_manage/current && ./restart_very_quickly
1. 查看 /var/log/crontab 這個日志文件,這里會記錄某個命令在某個時刻是否被執行. 如下所示:
Nov 18 02:00:01 HBL-WEB-1 CROND[58286]: (zhidaoyuan) CMD (cd /var/data/zhi_dao_yuan_manage/current && ./restart_very_quickly)
2. 查看 /var/spool/mail/zhidaoyuan 文件,就可以看到具體的報錯信息:
3220 From: root@HBL-WEB-1.localdomain (Cron Daemon)
3221 To: zhidaoyuan@HBL-WEB-1.localdomain
3222 Subject: Cron cd /var/data/zhi_dao_yuan_manage/current && ./restart_very_quickly
3223 Content-Type: text/plain; charset=UTF-8
3224 Auto-Submitted: auto-generated
3225 X-Cron-Env:
3226 X-Cron-Env:
3227 X-Cron-Env:
3228 X-Cron-Env:
3229 X-Cron-Env:
3230 Message-Id: <20181117180001.BFE5C158936B@HBL-WEB-1.localdomain>
3231 Date: Sun, 18 Nov 2018 02:00:01 +0800 (CST)
3232
3233 ./restart_very_quickly: line 2: bundle: command not found
所以,就知道,這個cron任務沒能執行的原因是沒有找到bundle命令.給它設置一下就可以了.
3. 解決辦法:crontab 執行命令時,加載用戶的配置文件:
source ~/.bash_profile && cd ... && ./restart ...
就可以了.
3262 From: root@HBL-WEB-1.localdomain (Cron Daemon)
3263 To: zhidaoyuan@HBL-WEB-1.localdomain
3264 Subject: Cron source ~/.bash_profile && cd /var/data/zhi_dao_yuan_manage/current && sh /var/data/zhi_dao_yua
3265 Content-Type: text/plain; charset=UTF-8
3266 Auto-Submitted: auto-generated
3267 X-Cron-Env:
3268 X-Cron-Env:
3269 X-Cron-Env:
3270 X-Cron-Env:
3271 X-Cron-Env:
3272 Message-Id: <20181118094344.964ED1580683@HBL-WEB-1.localdomain>
3273 Date: Sun, 18 Nov 2018 17:43:05 +0800 (CST)
3274
3275 Starting server on 0.0.0.0:3300 ...
3276 Deleting stale PID file tmp/pids/thin.3300.pid
3277
3278 Starting server on 0.0.0.0:3301 ...
3279 Deleting stale PID file tmp/pids/thin.3301.pid
3280
總結
以上是生活随笔為你收集整理的linux调试crontab,linux - crontab 的调试,启动thin服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10万元一年利息多少钱啊?
- 下一篇: 小森生活渔业知识怎么提升