crontab 定时删除几天以前的日志(各种踩坑)

网上关于删除多少天以前的日志,日志文件满多少的日志有很多了。

(可以参考:https://www.cnblogs.com/grimm/p/8794707.html

但是我在删除的时候,使用sh 执行脚本都是正常的,但是

使用crontab -e 编辑后,一直没有生效。

查看:tail -f /var/log/cron   

显示:

(root) CMD (/opt/app/auto-del-15-days-ago-log.sh )
(root) MAIL (mailed 103 bytes of output but got status 0x004b#012)

我的crontab -e 本来是:

vi /etc/crontab

00 22 * * * sh opt/app/auto-del-15-days-ago-log.sh

后来改成:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/

00 22 * * * sh opt/app/auto-del-15-days-ago-log.sh

后就可以了

删除15天以前的日志:auto-del-15-days-ago-log.sh

#!/bin/sh
find /opt/logs/sc_resource -mtime +15 -name "*.log" -exec rm -rf {} \;

crontab 的常见命令:

crontab -l  列出当前登录用户所有定时任务
crontab -l -u XXX  列出XXX用户的所有定时任务,如有没有会提示 no crontab for XXX
crontab -e  编辑当前用户的定时任务
crontab -r  删除当前用户的定时任务
 
查看crontab的执行情况:  tail -f /var/log/cron
查看crontab的执行log:   vim /var/spool/mail/root

《crontab 定时删除几天以前的日志(各种踩坑)》

    原文作者:石硕页
    原文地址: https://blog.csdn.net/u014209205/article/details/100417188
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞