你这个是直接在命令行执行,所以后面会有显示pid,你写进一个脚本就不会显示了。
站在用户的角度思考问题,与客户深入沟通,找到孝南网站设计与孝南网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名与空间、网络空间、企业邮箱。业务覆盖孝南地区。
root@ubuntu:# more sh1.sh
#!/bin/bash
sar 1 100 /tmp/sar.log
只是同步时间的话,没有太大区别
第一条,执行会有输出,当然,ntpdate是不会记录输出到文件的,当crontab调用时,错误和标准输出会写成mail通知你
第二条,标准输出重定向到/dev/null,关于/dev/null,你可以查一下资料看看详细的解释,我们把它理解为一个空文件吧,输出到这里就找不回来了
第三条,与第二条类似,21是指将标准信息输出路径指定为错误信息输出路径,那么标准输出和错误输出都重定向到/dev/null,也就是不记录任何信息了
关于你提到对主机的影响,从ntpdate来讲,区别并不大,那么我们考虑另外一种环境,如果定时任务执行的是一个需要写大量日志的程序,那么就会存在你所讲的cpu、内存、io和磁盘占用等问题了。所以,当我们不需要记录额外信息的话,应该把标准输出和错误重定向到/dev/null
把前一个命令的输出重定向到一个临时文件(如果你所谓的“没有任何输出”包含错误信息的话,重定向时记得还要加上标准错误)
再查看临时文件的大小,如果文件为空,则执行下一条命令
unzip xx.zip /dev/null 21
一楼的回答也对,但用的时候一般不用加最前面的1
unzip xx.zip /dev/null
前半部分是将标准输出重定向到空设备,
后面的21就将标准错误输出重定向到标准输出,这样最终也是到空设备。
ls *.txt 2 /dev/null
2 /dev/null表示把出错信息丢到/dev/null这个无底洞里面