crontab 中的命令需要重定向输出
原因
如果不重定向输出,输出内容会以邮件的形式发送给用户。
建议
在不需要查看输出内容的命令后加上 >/dev/null 2>&1
>
重定向(默认时把标准输出重定向)- /dev/null Linux的空设备文件
- 2 错误输出(stderr)
- 1 标准输出(stdout)
- & 重定向到文件描述符,必须在文件描述符数字之前加&(也叫重定向绑定)
所以此命令的含义是,标准输出重定向到空设备,错误输出重定向到标准输出
拓展
&> file
,这个代表所有输出(0,1,2...)都重定向到file1>file 2>file
和 &>file
都会开启多个file的管道,如果同时有输出产生,会抢占file的IO,效率低。>/dev/null 2>&1
,只会开启一个file的管道,IO效率高。
本作品采用《CC 协议》,转载必须注明作者和本文链接