手动执行脚本正常,cron 里就是不工作。日志里啥也没有。
原因:cron 的环境跟登录 shell 完全不同。PATH 只有 /usr/bin:/bin,脚本里用了 node、python3 之类的,找不到。
解法:
- 脚本里全用绝对路径
- 或者在 crontab 顶部设 PATH
- 输出重定向到日志文件,不然报错你看不到
第三个最关键。cron 默认把输出发邮件,机器上没配邮件就等于扔了。
我的模板:
PATH=/usr/local/bin:/usr/bin:/bin
/5 * /path/script.sh >> /var/log/script.log 2>&1加上 2>&1 之后,问题基本都能自己看出来。
主楼- 暂无回复
继续逛逛