canal 执行的日志太多了,都在canal-adapter/logs/adapter/下面,占用很多,动不动就把磁盘给打满了。 为了解决这个问题,可以通过一个定时脚本执行:
#!/bin/bash
# 获取当前日期
current_date=$(date +%s)
# 日志目录
log_dir="/root/package/canal-adapter/logs/adapter/"
# 遍历日志目录下的所有文件夹
for dir in ${log_dir}*/; do
# 提取文件夹名(假设文件夹名为日期)
dir_name=$(basename $dir)
# 转换文件夹名为时间戳
dir_date=$(date -d $dir_name +%s 2>/dev/null)
# 检查转换是否成功(避免处理非日期格式的文件夹)
if [[ $? -eq 0 ]]; then
# 计算文件夹日期与当前日期的差值(单位:天)
days_diff=$(( (current_date - dir_date) / 86400 ))
# 如果文件夹日期超过3天,则删除该文件夹
if [[ $days_diff -gt 3 ]]; then
echo "Deleting folder: $dir"
rm -rf "$dir"
fi
else
echo "Skipping non-date folder: $dir"
fi
done
echo "Deleting folder root/logs/rocketmqlogs/otherdays/"
rm -rf /root/logs/rocketmqlogs/otherdays/*