需求描述:

  早上设置了ntp客户端的定时任务,发现不断的有You have new mail in /var/spool/mail/root这种提示.

  然后,就看了具体的文件,由于ntpdate是每分钟执行,执行的结果,都输出到mail邮件里面了.所以,担心

  这个给撑爆了,就预先放置吧,看看如何在crontab不进行标准或错误输出.

操作过程:

1.查看定时任务,和mail信息

[root@testvm02 mail]# crontab -l
*/ * * * * /usr/sbin/ntpdate 192.168.53.22
[root@testvm02 mail]# crontab -l #一分钟之后,再次执行就报了mail的提示.
*/1 * * * * /usr/sbin/ntpdate 192.168.53.22
You have new mail in /var/spool/mail/root

2.查看这个mail中到底是什么

[root@testvm02 mail]# ls -l /var/spool/mail/root
-rw------- root mail Aug : /var/spool/mail/root #最近刚有新的信息输入
You have new mail in /var/spool/mail/root
[root@testvm02 mail]# more /var/spool/mail/root #查看文件的内容就是发送邮件的信息和执行命令的输出.就是发送邮件的信息,把你执行的命令结果,发送出去.
From root@testvm02.localdomain Tue Aug ::
Return-Path: <root@testvm02.localdomain>
X-Original-To: root
Delivered-To: root@testvm02.localdomain
Received: by testvm02.localdomain (Postfix, from userid )
id A4E68440BC; Tue, Aug :: + (CST)
From: root@testvm02.localdomain (Cron Daemon)
To: root@testvm02.localdomain
Subject: Cron <root@testvm02> ntpdate 192.168.53.22
Content-Type: text/plain; charset=UTF-
Auto-Submitted: auto-generated
X-Cron-Env: <LANG=en_US.UTF->
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <.A4E68440BC@testvm02.localdomain>
Date: Tue, Aug :: + (CST) /bin/sh: ntpdate: command not found From root@testvm02.localdomain Tue Aug ::
Return-Path: <root@testvm02.localdomain>
X-Original-To: root
Delivered-To: root@testvm02.localdomain
Received: by testvm02.localdomain (Postfix, from userid )
id A83D7440BD; Tue, Aug :: + (CST)
From: root@testvm02.localdomain (Cron Daemon)
To: root@testvm02.localdomain
Subject: Cron <root@testvm02> ntpdate 192.168.53.22
Content-Type: text/plain; charset=UTF-
Auto-Submitted: auto-generated
X-Cron-Env: <LANG=en_US.UTF->

3.通过重定向将命令执行的错误和标准输出都屏蔽掉

[root@testvm02 mail]# crontab -e
crontab: installing new crontab
[root@testvm02 mail]# crontab -l
*/ * * * * /usr/sbin/ntpdate 192.168.53.22 >/dev/null 2>&1

备注:这样执行就没有标准和错误输出了.

4.再次查看文件是否有增长

[root@testvm02 mail]# ls -l root
-rw------- root mail Aug : root
[root@testvm02 mail]# ls -l root
-rw------- root mail Aug : root
[root@testvm02 mail]# ls -l root
-rw------- root mail Aug : root
[root@testvm02 mail]# date
Wed Aug :: CST

备注:该文件中的内容没有增加,以后也不会出现不断增加,可能会撑爆磁盘的情况了.

另:在其他的博客中设置echo "unset MAILCHECK">>/etc/profile 可以不检查mail目录中的内容,但是只是不检查发送邮件,但是root的内容还在增加.

5.彻底关闭cron进程发送邮件的方式

  5.1crontab文件中,开头增加MAILTO="",表示没有收件人

[root@testvm02 mail]# crontab -l
MAILTO=""
*/ * * * * /usr/sbin/ntpdate 192.168.53.22

  5.2crontab定时任务增加输出重定向

*/ * * * * /usr/sbin/ntpdate 192.168.53.22 >/dev/null >&

备注:这样的话/var/spool/mail中root文件就不会在增加了,否则即使是unset MAILCHECK不提示有邮件了,但是这个文件还是在增加.

文档创建时间:2018年8月8日11:10:02

linux避免crontab的执行输出将磁盘目录占满?用户的mail占用大的空间?的更多相关文章

  1. Linux中crontab无法执行java程序的问题

    Linux中crontab无法执行java程序的问题 jdk环境变量配置问题:可以用全路径来解决: 竟然是kill -9之后,后面的脚本都不运行,这个还没有找到原因啊: 即便是系统级别的 ls 命令, ...

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

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

  3. 如何使用Linux的Crontab定时执行PHP脚本的方法

    我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现.但这两种方法都不太可靠,不稳定.我们可以借助Linux的Crontab工具来稳 ...

  4. 如何使用Linux的Crontab定时执行PHP脚本的方法[转载]

    首先说说cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 crontab 都被保存在/var/spool/cron 目 ...

  5. linux定时任务crontab怎样执行root命令

    在/var/spool/cron/文件夹下放置了所有定时任务文件, 1.运行crontab -u $用户名 -e会显示$用户的所有定时任务: 2.运行sudo crontab -e会显示root用户所 ...

  6. Linux使用crontab定时执行Python脚本清理日志

    Linux中,周期执行的任务一般由crond这个守护进程来处理.cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.crond的配置文件称为"crontab", ...

  7. linux下crontab定时执行本地脚本和定时访问指定url

    https://my.oschina.net/u/2487410/blog/683308 使用linux curl命令讲解:http://www.linuxdiyf.com/linux/2800.ht ...

  8. 使用Linux的Crontab定时执行PHP脚本

    0 */6 * * * /home/kdb/php/bin/php /home/kdb/apache/htdocs/lklkdbplatform/kdb_release/Crontab/index.p ...

  9. linux下crontab定时执行shell脚本调用oracle 存储过程

    问题:脚本内调用存储过程,脚本直接执行没问题,使用crontab 执行脚本存储过程未执行 原因:缺少oracle环境变量 解决:在shell脚本里添加oracle的环境变量 #!/bin/sh PAT ...

随机推荐

  1. C语言 · x的x次幂结果为10

    如果x的x次幂结果为10(参见[图1.png]),你能计算出x的近似值吗? 显然,这个值是介于2和3之间的一个数字. 请把x的值计算到小数后6位(四舍五入),并填写这个小数值. 注意:只填写一个小数, ...

  2. Java通过ssh连接到Linxu和Windos服务器远程启动Tomcat

    一.Linxu服务器远程启动tomcat 1.首先确保linxu服务器上的tomcat jdk等必要软件正确安装,并且可以正常启动. 2.编写Java SSH工具类. 相关jar包: <depe ...

  3. [转] 机器学习是什么——周志华

    机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来. 不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿走总不会吃亏吧. 问题是,真有个"大伙儿& ...

  4. PropertyChangeSupport

    1 import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; /** * @author h ...

  5. ansible普通用户su切换

    [root@361way.com ~]# cat /etc/ansible/hosts [test01] 10.212.52.14 ansible_ssh_user=test ansible_ssh_ ...

  6. Entity Framework 动态构造Lambda表达式Expression<Func<T, bool>>

    using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...

  7. 【转】MYSQL数据库四种索引类型的简单使用--MYSQL组合索引“最左前缀”原则

    MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述: (1)普通索引 这是最基本的MySQL数据库索引,它没有任何限制.它有以下几种创建方式: 创建索引 ...

  8. Linux的内存管理

    Linux的内存管理,实际上跟windows的内存管理有很相像的地方,都是用虚拟内存这个的概念,说到这里不得不骂MS,为什么在很多时候还有很大的物理内存的时候,却还是用到了pagefile. 所以才经 ...

  9. Textrank权值提取文本标签提取:

    Textrank权值提取文本标签提取: 我已经爬取到了指定博主的新浪微博,然后我想从微博中提取出可以代表该博主兴趣特征的100个关键词,然后由这100个关键词提取出10个标签,代表博主的兴趣.我们此处 ...

  10. 关于Unity中的旋涡特效的制作(捕鱼达人3技术)(专题八)

    Mesh--材质--Shader 1: Mesh 是网格,包括顶点,法线,纹理坐标,切线,三角形.在每一个3D模型节点里面,有一个Mesh Filter组件来提取模型里面的网格数据;2: Shader ...