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 本来是:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章