linux中配置tomcat日志定时删除
新建脚本DailyDeleteLogs.sh
然后给脚本授权
新建脚本
mkdir -p /home/shell/
cd /home/shell/
touch DailyDeleteLogs.sh
chmod 777 *.sh
脚本内容如下
// An highlighted block
#!/bin/bash
# 清空指定 Tomcat 日志文件和 catalina.out 的函数
clear_tomcat_logs() {
local tomcat_dir="$1"
# 检查目录是否存在
if [ -d "$tomcat_dir" ]; then
# 清空目录下的所有 .log 和 .txt 文件
find "$tomcat_dir/logs" -type f \( -name "*.log" -o -name "*.txt" \) -exec rm -f {} \;
echo "Tomcat 日志文件已清空: $tomcat_dir"
else
echo "Tomcat 目录不存在: $tomcat_dir"
fi
# 检查 catalina.out 文件是否存在
local catalina_out_file="$tomcat_dir/logs/catalina.out"
if [ -f "$catalina_out_file" ]; then
# 清空 catalina.out 文件
echo -n > "$catalina_out_file"
echo "catalina.out 文件已清空: $tomcat_dir"
else
echo "catalina.out 文件不存在: $tomcat_dir"
fi
}
# 设置 Tomcat 目录列表
tomcat_dirs=(
"/home/tomcat-test1"
"/home/tomcat-test2"
)
# 循环清空每个 Tomcat 目录下的日志文件和 catalina.out
for tomcat_dir in "${tomcat_dirs[@]}"; do
clear_tomcat_logs "$tomcat_dir"
done
该脚本主要用于清空tomcat的logs中的日志数据
再配置一个crontab
crontab -e
进入到cron编辑模式,切到英文输入状态,按 I 键进入输入状态
0 0 * * * /home/shell/DailyDeleteLogs.sh
按esc退出输入状态,按 : 输入 wq! 保存并退出
这样一个定时清空tomcat的脚本就配好了
具体的时间根据你的cron表达式进行控制