在crond任务中,我们经常见到这样的cron任务,如下:
0 0 1 * * * /users/gaohf/crond/cut_nginx_log.sh > /opt/local/var/nginx_cron 2>&1
这条命令的意思是将标准输出和错误输出全部重定向到/opt/local/var/nginx_cron文件中,你也可以置空到中,也就是将产生的所有信息丢弃。
0 0 1 * * * /users/gaohf/crond/cut_nginx_log.sh > /dev/null 2>&1
0 标准输入
1 标准输出(stdout)
2 标准错误输出(stderr)
当然,也可以这样写:command > file 2>file。
那么,这样和command > file 2>&1的区别是什么呢?
command > file
2>file的意思是将命令所产生的标准输出信息和错误输出信息送到file中,这样的写法会将stdout和stderr都直接送到file
中,file会被打开两次,而且stdout和stderr会相互覆盖,相当于FD1和FD2同时抢占file的管道。
command > file
2>&1的意思是将stdout直接送到file,stderr继承了FD1管道后,再被送到file。此时,file只被打开了一次,也
只使用了一个管道FD1,它包括了stdout和stderr的内容。
从IO效率上看,command > file 2>file的效率要比command > file
2>&1的效率低,所以在编写shell脚本时,较多时候我们会用command > file
2>&1这样的写法。
这样写的话,如果后面没有重定向,那么该条crond会给系统的root用户发送邮件,如果你执行频繁或者输入内容比较多的时候,就要注意了,你的
磁盘空间很快会被塞满。
分享到:
相关推荐
在 `nohup /mnt/Nand3/H2000G >/dev/null 2>&1 &` 这个例子中,`>/dev/null` 表示将标准输出(文件描述符 1)重定向到 `/dev/null`,这是一个特殊的设备文件,任何写入它的数据都会被丢弃,相当于“黑洞”。`2>&1` ...
在Shell脚本中,我们经常会遇到`>/dev/null 2>&1`这样的重定向操作,它是用来处理命令的输出和错误的。接下来,我们将详细解释这个命令的含义和作用。 首先,`>/dev/null`是将标准输出(标准输出的文件描述符为1)...
以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段命令背后的“玄机”。 shell重定向介绍 就像我们平时写的程序一样...
例如,在某些脚本或者自动化任务中,可能会用到`>/dev/null`来丢弃不必要的输出。 当出现“open /dev/null or dup failed”错误时,原因可能有以下几点: 1. **文件系统问题**:`/dev/null`是一个内建的设备文件,...
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1 ``` 这行命令会在每一分钟执行一次,检查 Laravel 的 `app/Console/Kernel.php` 文件中的 `schedule()` 方法,并执行其中定义的任务...
- `>> /dev/null 2>&1` 将标准输出和错误输出重定向到 `/dev/null`,即忽略输出。 #### 4. 运行脚本 - **切换目录**: `cd /项目目录/addons/shimmer_liveshop` - **执行命令**: `php artisan schedule:run >> /...
第五种方式,`nohup java -jar spring-boot-demo.jar > /dev/null 2>&1 &`,将所有日志输出丢弃。`/dev/null`被称为黑洞设备,任何写入的数据都会被丢弃,而尝试从它那里读取数据将得到空结果。 理解`nohup`和`&`的...
- **同时禁止标准输出和标准错误**:例如,`cat $filename 2>/dev/null > /dev/null`可以完全禁止任何输出。 - **清除日志文件内容**:例如,`cat /dev/null > /var/log/messages`可以清空日志文件。 - **特殊用法**...
在这里,先将标准输出重定向到/dev/null,然后2>&1将标准错误重定向到标准输出,此时标准输出已指向/dev/null,因此标准错误也被清除。 2. `grep -r power /sys/ 2>&1 >/dev/null` 如果顺序交换,标准错误首先被...
描述中提到的"demo"是一个示例程序,它展示了如何操作设备上的/dev/ttyMT1这一特定串口,并且指出在系统的`init.rc`配置文件中需要调整该串口的权限以允许读写。 首先,我们需要理解Android系统中的串口。在Linux...
/dev/ttyUSB0 > /dev/null从/dev/ttyUSB0读取帧并显示调试输出结合使用这些工具来验证如何构建框架: $ ./input | ./inspect > /dev/null0x04 0x00 0x26 0x0117:25:08.330699 mode 4 message (0026): Start ...
这里,`0 1 * * *` 表示每天的凌晨1点,`/path/to/your/deletefile.sh` 是你的脚本路径,`> /dev/null 2>&1` 用于将脚本输出重定向到黑洞,避免填充日志文件。 请注意,自动删除文件可能涉及数据安全问题,务必确保...
例如,`command > /dev/null 2>&1`会丢弃命令的所有输出。 通过理解并熟练运用这些重定向技术,你可以更有效地控制Linux命令的输入和输出,提高工作效率,更好地管理和监控系统。学习并掌握这些知识,对于日常的...
<string>/dev/null</string> <key>StandardOutPath</key> <string>/dev/null</string> <key>LaunchOnlyOnce</key> <true/> </dict> </plist> ``` 将`yourusername`替换为你的实际用户名,并将此文件保存到`~/...
* * * * * /home/wwwroot/wechatmini/cli.sh > /dev/null 2>&1 ``` ##### 3.2 直接配置定时任务 - 如果不想创建额外的脚本文件,可以直接在定时任务中指定要执行的命令。例如: ```bash * * * * * ...
通常,使用`>/dev/null 2>&1`来将标准输出和错误输出重定向到黑洞,防止填满日志文件或终端。例如: ```bash php /path/to/queue_run_firm.php > /dev/null 2>&1 & ``` 这样,除非需要调试,否则程序的输出将被忽略...
/bin/tar -cf /backup/$1.$DATE.tar $1 > /dev/null 2>> /backup/$1.bak.log /bin/gzip /backup/$1.$DATE.tar if [ $? -eq 0 ] then echo "$1 $DATE backup successfully" >> /backup/$1.bak.log else echo "ERROR...