场景:
demo.sh
#!/bin/sh
source /etc/profile
echo "say Hi"
log
(root) CMD (sh /usr/shell/demo.sh)
MAIL (mailed 7 bytes of output but got status 0x004b#012)
这是咋回事?? 为啥不执行???看不到日志呢??
您好,脚本进程只是继承了运行它的TTY。当手动运行它时,它会继承运行shell命令的TTY(终端)。对cron来说, 甚至没有 TTY。所以,没有TTY被继承。也就没有标准输入输出供使用, 一般是重定向到文件来实现日志输出.
在/var/log/cron 打印的是 crontab的进程日志,真正想要看到shell脚本打印的结果,需要重定向到日志目录进行查看
* * * * * cd /usr/shell/ && sh demo.sh >> /usr/shell/logs/error.log 2>&1
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。