网上关于删除多少天以前的日志,日志文件满多少的日志有很多了。
(可以参考: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