本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢。
声明:
本博客欢迎转发,但请注明出处,保留原作者信息
博客地址:孟阿龙的博客
所有内容为本人学习、研究、总结。如有雷同,实属荣幸
问题
近期在crontab中添加了一个定时任务,该任务执行之后默认会有正常输出。为了确保在任务执行过程中的异常信息也可以捕获,方便问题定位,因此在crontab中我写了这么一条命令:
01 09 * * * cd /opdir/test/ && ./test.sh &>>test.log
以上命令非常好理解,每天9:01执行test.sh 脚本并且将脚本的标准错误输出、标准输出全部重定向到文件 test.log中。最终发现脚本是正常执行了,但是test.log 这个日志文件中却没有任何内容。
为了解决和解释这个问题,接下来我们先简单介绍下linux系统中重定向的问题
概念
Linux系统中:
1: 表示标准输出(stdout),默认输出到屏幕
2:表示标准错误输出(stderr),默认输出到屏幕
在平时我们经常使用如下方法将脚本执行结果重定向:
bash test.sh >test.out //脚本的标准输出写入到文