–
#!/bin/bash # v1 # 脚本位置:/data/script/clean_log.sh # 添加定时任务:echo "0 * * * * /bin/bash /data/script/clean_log.sh" >> /var/spool/cron/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/k8s/bin cd $(dirname $0) func_clean_log(){ [[ -e clean_log.lock ]] && exit 1 echo echo echo "$(date +%F_%T) start clean" touch clean_log.lock find /var/spool/postfix/maildrop -type f -exec /bin/rm -f {} \; find /data/applogs/cat -type f -exec /bin/rm -f {} \; disk_percent=$(df -h | egrep [[:space:]]/$ | awk '{print $(NF-1)}' | tr -d '%') echo "current disk percent: $disk_percent%" if [[ $disk_percent -gt 50 ]]; then #包括gz,txt,log文件 echo "current disk percent large then 50%, start clean" find /home/andblog/runtime/tomcat_8081/logs -type f -mtime +7 -exec /bin/rm -f {} \; find /home/andblog/logs -type f -mtime +7 -exec /bin/rm -f {} \; find /home/www/*/logs -type f -mtime +7 -exec /bin/rm -f {} \; else disk_percent=$(df -h | egrep [[:space:]]/$ | awk '{print $(NF-1)}' | tr -d '%') echo "current disk percent: $disk_percent%" echo "$(date +%F_%T) stop clean" /bin/rm -f clean_log.lock exit 0 fi disk_percent=$(df -h | egrep [[:space:]]/$ | awk '{print $(NF-1)}' | tr -d '%') echo "current disk percent: $disk_percent%" if [[ $disk_percent -gt 80 ]]; then #包括gz,txt,log文件 echo "current disk percent large then 80%, start clean" find /home/andblog/runtime/tomcat_8081/logs -type f -mtime +3 -name "*.gz" -exec /bin/rm -f {} \; find /home/andblog/runtime/tomcat_8081/logs -type f -mtime +3 | xargs truncate -s 0 find /home/andblog/logs -type f -mtime +3 -name "*.gz" -exec /bin/rm -f {} \; find /home/andblog/logs -type f -mtime +3 | xargs truncate -s 0 find /home/www/*/logs -type f -mtime +3 -name "*.gz" -exec /bin/rm -f {} \; find /home/www/*/logs -type f -mtime +3 | xargs truncate -s 0 else disk_percent=$(df -h | egrep [[:space:]]/$ | awk '{print $(NF-1)}' | tr -d '%') echo "current disk percent: $disk_percent%" echo "$(date +%F_%T) stop clean" /bin/rm -f clean_log.lock exit 0 fi disk_percent=$(df -h | egrep [[:space:]]/$ | awk '{print $(NF-1)}' | tr -d '%') echo "current disk percent: $disk_percent%" if [[ $disk_percent -gt 85 ]]; then #包括gz,txt,log文件 echo "current disk percent large then 85%, start clean" find /home/andblog/runtime/tomcat_8081/logs -type f -name "*.gz" -exec /bin/rm -f {} \; find /home/andblog/runtime/tomcat_8081/logs -type f | xargs truncate -s 0 find /home/andblog/logs -type f -name "*.gz" -exec /bin/rm -f {} \; find /home/andblog/logs -type f | xargs truncate -s 0 find /home/www/*/logs -type f -name "*.gz" -exec /bin/rm -f {} \; find /home/www/*/logs -type f | xargs truncate -s 0 fi disk_percent=$(df -h | egrep [[:space:]]/$ | awk '{print $(NF-1)}' | tr -d '%') echo "current disk percent: $disk_percent%" echo "$(date +%F_%T) stop clean" /bin/rm -f clean_log.lock exit 0 } func_clean_log &>> clean_log.log 定时将某个目录下面的所有日志都切割压缩 cd /home/andblog/data/tmp/logs/; for log in $(ls *.log); do cat $log > $log.$(date +\%F).log; > $log; gzip $log.$(date +\%F).log; done 59 23 * * * cd /home/andblog/runtime/tomcat_8081/logs/ ; [ -f catalina.out ] && ( cat catalina.out > catalina.out.`date +\%F`.log ; > catalina.out; \ gzip catalina.out.`date +\%F`.log )
–
–
–
评论前必须登录!
注册