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