網上關於刪除多少天以前的日誌,日誌文件滿多少的日誌有很多了。
(可以參考: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