
服务器项目日志文件随着时间推移文件数量和体积不断增大占用磁盘空间。很多历史日志文件无实际价值却需要人工日常维护。现通过定时任务方式自动清理历史日志文件保持服务器磁盘空间占用在合理的水平。1.创建日志清理脚本log_clean_35.sh#创建日志清理脚本 echo /app/logjob/log_clean_35.sh#!/bin/bash #默认清理180天前的日志可传入参数指定日期 #执行sh命令时不传则默认180天否则使用传入的日期 mtime180 if [ -n $1 ];then mtime$1 fi #清理开始存储到日志文件 echo $(date %Y%m%d%H%M%S) del $mtime days ago log file start... /app/logjob/clean.log #查找需要删除的日志文件列表并删除 #查找/app/projecta/logs目录下180天前的以.log.gz结尾的文件并将文件位置输出到clean.log中 #-mtime 180表示前180天-name表示文件名 find /app/projecta/logs -mtime $mtime -name *.log.gz /app/logjob/clean.log #查找180天前的以.log.gz结尾的文件并删除这些文件 find /app/projecta/logs -mtime $mtime -name *.log.gz -exec rm -rf {} \; #清理完成 echo $(date %Y%m%d%H%M%S) del $mtime days ago log file end /app/logjob/clean.log2.创建清理任务日志clean.log#创建定时任务执行日志 echo /app/logjob/clean.log3.创建定时任务#创建定时任务每周一930执行 crontab -e 30 9 * * 1 sh /app/logjob/log_clean_35.sh4.手动触发#清理90天前的日志文件 sh /app/logjob/log_clean_35.sh 90 #清理180天前的日志文件 sh /app/logjob/log_clean_35.sh