1、shell脚本
#!/bin/bash
DATE=`date "+%Y%m%d"`
echo $DATE
end_date=$(date -d "$DATE -7 days" +%Y%m%d)
echo $end_date
#rm -rf /acdata/tomcat8.5/logs/catalina.out.$end_date
folder_path="/acdata/tomcat8.5/logs/" # 文件夹路径
files=$(find "$folder_path" -type f) # 使用find命令获取文件夹下所有文件路径
for file in $files; do
filename=$(basename -- "$file") # 提取文件名
# echo "$filename"
if [[ ${filename} == catalina.out.* ]]; then
echo "$filename"
array=($(awk -F"." '{ for(i=1; i<=NF; i++) print $i }' <<< "$filename"))
echo ${array[2]}
if [[ $end_date > ${array[2]} ]]; then
echo 'del' + "$filename"
rm -rf /acdata/tomcat8.5/logs/catalina.out.${array[2]}
fi
fi
done
cp /acdata/tomcat8.5/logs/catalina.out /acdata/tomcat8.5/logs/catalina.out.$DATE
wait
echo " " >/acdata/tomcat8.5/logs/catalina.out
2.添加到定时任务
2.1 编辑定时任务
crontab -e
2.2 内容编写
每天凌晨一点执行
0 1 * * * sh /root/cut_log_per_day.sh
2.3 查看定时任务列表
crontab -l