原文:https://blog.csdn.net/solmyr_biti/article/details/50683279

-----------------------------------------------------------------------------

如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情。因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件

/var/spool/mail/$user

如果命令执行比较频繁(如每分钟一次),或者命令输出内容较多,会使这个邮件文件不断追加内容,文件越来越大。而邮件文件一般存放在根分区,根分区一般相对较小,所以会造成根分区写满而无法登录服务器。

所以在添加crontab命令时,无论命令是否有输出,最好都加上输出重定向到文件或者/dev/null中。如下

*/5 * * * * /root/XXXX.sh &>/dev/null 2>&1

/dev/null 代表空设备文件
> 代表重定向到哪里,例如:echo "123" > /home/123.txt
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1

那么>/dev/null 2>&1的意思就是:
标准输出重定向到空设备文件,也就是不输出任何信息到终端,标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

使用crontab定时执行脚本时别忘了输出重定向>的更多相关文章

  1. linux下使用crontab定时执行脚本

    使用crontab定时执行脚本 cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务: crontab –e : 修改 crontab 文件,如果文件不存在会自 ...

  2. crontab 定时执行脚本出错,但手动执行脚本正常

    原因: crontab 没有去读环境变量,需要再脚本中手动引入环境变量,可以用source 也可以用export 写死环境变量. 为了定时监控Linux系统CPU.内存.负载的使用情况,写了个Shel ...

  3. linux设置crontab定时执行脚本备份mysql

    前言:mysqldump备份数据库命令 mysqldump -u root -psztx@2018 fengliuxiaosan > /dbbackup/fengliuxiaosan.sql## ...

  4. 小记---------手动执行脚本正常执行,使用crontab定时执行时 不执行

    可能出现的原因就是因为crontab不会从用户的/etc/profile文件中读取环境变量,所以就出现 使用定时crontab执行时 无法执行 抛错 所以在使用crontab 定时执行脚本时  在脚本 ...

  5. crontab定时执行shell脚本失败的原因

    有一段时间不用crontab定时执行任务了,这次趁着项目实施的机会来进一步分析一下crontab定时任务设置时遇到的一些棘手的问题. crontab -l 查看目前已经设置的crontab信息 cro ...

  6. Linux下定时执行脚本(转自Decode360)

    文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog  老师(业精于勤而荒于嬉 ...

  7. crontab定时执行任务

    第一部分 crontab介绍 每个操作系统都有它的自动定时启动程序的功能,Windows有它的任务计划,而Linux对应的功能是crontab. crontab简介 crontab命令常见于Unix和 ...

  8. Crontab定时执行Oracle存储过程

    Crontab定时执行Oracle存储过程 需求描述 我们有一个Oracle的存储过程,里面是每个月需要执行一下,生成报表,然后发送给业务部门,这一个功能我们有实现在系统的前台界面(如图1-1),但是 ...

  9. 实用脚本 2 -- Linux下定时执行脚本

    今天学习Linux下定时执行脚本,看到一篇讲解比较好的文章,特此拿来分享. 原文链接:http://www.blogjava.net/decode360/archive/2009/09/18/2877 ...

随机推荐

  1. tkinter学习-文本框

    阅读目录 Entry 输入框 Text 文本框 Entry: 说明:输入控件,用于显示简单的文本内容 属性:在输入框中用代码添加和删除内容,同样也是用insert()和delete()方法 from ...

  2. NFS基础优化

    一.环境 环境接上篇 https://www.cnblogs.com/suffergtf/p/9486250.html 二.参数详解 1.nfsserver端配置参数详解 [root@nfsserve ...

  3. 【chm】【windows】win7下chm打开不显示内容

    修改chm属性里面,‘解除锁定’即可.点击chm文件,右键选择属性,点击最下方的解除锁定,保存,退出重新打开即可. ​

  4. Windows Server 2008 R2+SQL Server 2014 R2升级到Windows Server 2016+SQL Server 2016

    环境: 操作系统:Windows Server 2008 R2 数据库:SQL Server 2014 因SQL Server 2016可以无域创建AlwaysOn集群,集群只剩下单节点也不会挂掉,故 ...

  5. (转)iOS开发之Pch预编译文件的创建

    本文转自 http://www.cnblogs.com/496668219long/p/4568265.html 在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹 ...

  6. Luogu 5017 NOIP2018普及组T3 摆渡车 (斜率优化 + 必要的转移进行剪枝)

    题意: 有 n 名同学要乘坐摆渡车从人大附中前往人民大学,第 i 位同学在第 ti​ 分钟去 等车.只有一辆摆渡车在工作,但摆渡车容量可以视为无限大.摆渡车从人大附中出发. 把车上的同学送到人民大学. ...

  7. 关于加号传递到后端会变为空格的c#例子

    参考博客:http://blog.csdn.net/nsdnresponsibility/article/details/50965262 以前在一次传递参数的情况中遇到,特此记录一下. 之前传递的参 ...

  8. POJ 2643 Election

    Election Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3558   Accepted: 1692 Descript ...

  9. 自动化运维之shell通配符,转义符,和元字符(二)

    1 shell通配符 通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆.把通配符理解为shell特殊代号字符就可. 二.shell元字符 shell除了有通配符之外,由shel ...

  10. cf670E Correct Bracket Sequence Editor

    Recently Polycarp started to develop a text editor that works only with correct bracket sequences (a ...