linux避免crontab的执行输出将磁盘目录占满?用户的mail占用大的空间?
2023-09-11 14:14:16 时间
需求描述:
早上设置了ntp客户端的定时任务,发现不断的有You have new mail in /var/spool/mail/root这种提示.
然后,就看了具体的文件,由于ntpdate是每分钟执行,执行的结果,都输出到mail邮件里面了.所以,担心
这个给撑爆了,就预先放置吧,看看如何在crontab不进行标准或错误输出.
操作过程:
1.查看定时任务,和mail信息
[root@testvm02 mail]# crontab -l */1 * * * * /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------- 1 root mail 188542 Aug 8 10:59 /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 7 17:29:36 2018 Return-Path: <root@testvm02.localdomain> X-Original-To: root Delivered-To: root@testvm02.localdomain Received: by testvm02.localdomain (Postfix, from userid 0) id A4E68440BC; Tue, 7 Aug 2018 17:29:36 +0800 (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-8 Auto-Submitted: auto-generated X-Cron-Env: <LANG=en_US.UTF-8> 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: <20180807092936.A4E68440BC@testvm02.localdomain> Date: Tue, 7 Aug 2018 17:29:36 +0800 (CST) /bin/sh: ntpdate: command not found From root@testvm02.localdomain Tue Aug 7 17:30:01 2018 Return-Path: <root@testvm02.localdomain> X-Original-To: root Delivered-To: root@testvm02.localdomain Received: by testvm02.localdomain (Postfix, from userid 0) id A83D7440BD; Tue, 7 Aug 2018 17:30:01 +0800 (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-8 Auto-Submitted: auto-generated X-Cron-Env: <LANG=en_US.UTF-8>
3.通过重定向将命令执行的错误和标准输出都屏蔽掉
[root@testvm02 mail]# crontab -e crontab: installing new crontab [root@testvm02 mail]# crontab -l */1 * * * * /usr/sbin/ntpdate 192.168.53.22 >/dev/null 2>&1
备注:这样执行就没有标准和错误输出了.
4.再次查看文件是否有增长
[root@testvm02 mail]# ls -l root -rw------- 1 root mail 191901 Aug 8 11:03 root [root@testvm02 mail]# ls -l root -rw------- 1 root mail 191901 Aug 8 11:03 root [root@testvm02 mail]# ls -l root -rw------- 1 root mail 191901 Aug 8 11:03 root [root@testvm02 mail]# date Wed Aug 8 11:05:05 CST 2018
备注:该文件中的内容没有增加,以后也不会出现不断增加,可能会撑爆磁盘的情况了.
另:在其他的博客中设置echo "unset MAILCHECK">>/etc/profile 可以不检查mail目录中的内容,但是只是不检查发送邮件,但是root的内容还在增加.
5.彻底关闭cron进程发送邮件的方式
5.1crontab文件中,开头增加MAILTO="",表示没有收件人
[root@testvm02 mail]# crontab -l MAILTO="" */1 * * * * /usr/sbin/ntpdate 192.168.53.22
5.2crontab定时任务增加输出重定向
*/1 * * * * /usr/sbin/ntpdate 192.168.53.22 >/dev/null 2>&1
备注:这样的话/var/spool/mail中root文件就不会在增加了,否则即使是unset MAILCHECK不提示有邮件了,但是这个文件还是在增加.
文档创建时间:2018年8月8日11:10:02
相关文章
- Linux 线程挂起与唤醒功能 实例
- Linux C 字符串输出函数 puts()、fputs()、printf() 详解
- Linux/CentOS 同步网络时间
- linux - mysql:查看 mysql 是否安装成功
- Linux_CentOS-服务器搭建 <六>
- 【学习总结】快速上手Linux玩转典型应用-第2章-linux简介
- 【Linux基础】linux下的stdin,stdout和stderr理解
- Linux基础之windows linux双系统
- linux 如何查找io的进程
- Linux 查看磁盘分区、文件系统、磁盘的使用情况相关的命令和工具介绍
- Kali Linux系统使用小技巧
- Linux Cgroup系列(01):Cgroup概述
- linux 错误码 65280,Android:无法在同一部手机上执行通过Linux部署编译的文件
- 【Linux 内核】调度器 ② ( sched_class 调度类结构体源码 | 源码路径 linux-5.6.18kernelschedsched.h )
- arm汇编--ubuntu12.04 安装arm-linux交叉编译环境
- L82.linux命令每日一练 -- 第11章 Linux系统管理命令 -- dmidecode和lspci
- L52.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- resize2fs和fsck
- Linux下的的GDB调试技巧一 —— 基础知识和介绍
- Linux基本功系列之userdel命令实战
- linux top命令及结果详解 top -p 查看Linux程序运行进程
- linux标准输入/输出/错误
- 第二十四章 linux-kset与热插拔中的uevent和call_usermodehelper
- 第三章 linux模块化编程
- linux达人养成计划学习笔记(四)—— 压缩命令
- Linux之centos7环境下扩展SWAP分区
- 安卓通过Linux Deploy安装linux系统