feat:增加docker日志清理
This commit is contained in:
parent
f47a3b2ce4
commit
70a84ee2d5
@ -1,2 +1,3 @@
|
|||||||
# TopFans
|
# TopFans
|
||||||
密码:R251Y>Y8inL_BM=W
|
密码:R251Y>Y8inL_BM=W
|
||||||
|
https://testflight.apple.com/join/znR5FGdG
|
||||||
94
docker/cleanup-logs.sh
Executable file
94
docker/cleanup-logs.sh
Executable file
@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# ===================================================================
|
||||||
|
# Docker 容器日志 & 系统日志清理脚本
|
||||||
|
# 功能:当容器日志或 /var/log 超过阈值时自动清理
|
||||||
|
# 使用:./cleanup-logs.sh [容器日志阈值GB] [系统日志阈值GB]
|
||||||
|
# 示例:./cleanup-logs.sh 2 2
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
CONTAINER_THRESHOLD=${1:-2} # 默认容器日志超过 2GB 才清理
|
||||||
|
SYSLOG_THRESHOLD=${2:-2} # 默认系统日志超过 2GB 才清理
|
||||||
|
|
||||||
|
echo "=========================================="
|
||||||
|
echo "日志清理脚本"
|
||||||
|
echo "容器日志阈值: ${CONTAINER_THRESHOLD}GB"
|
||||||
|
echo "系统日志阈值: ${SYSLOG_THRESHOLD}GB"
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
|
# ========== 1. 清理 Docker 容器日志 ==========
|
||||||
|
echo ""
|
||||||
|
echo "=== 检查容器日志 ==="
|
||||||
|
|
||||||
|
total_container_log=0
|
||||||
|
cleared_containers=0
|
||||||
|
|
||||||
|
for container in $(docker ps -q); do
|
||||||
|
log_file=$(docker inspect --format='{{.LogPath}}' "$container" 2>/dev/null)
|
||||||
|
container_name=$(docker inspect --format='{{.Name}}' "$container" 2>/dev/null | sed 's/^\///')
|
||||||
|
|
||||||
|
if [ -f "$log_file" ]; then
|
||||||
|
size_bytes=$(stat -c%s "$log_file" 2>/dev/null || echo 0)
|
||||||
|
size_gb=$((size_bytes / 1024 / 1024 / 1024))
|
||||||
|
|
||||||
|
total_container_log=$((total_container_log + size_bytes))
|
||||||
|
|
||||||
|
if [ $size_gb -ge $CONTAINER_THRESHOLD ]; then
|
||||||
|
truncate -s 0 "$log_file" 2>/dev/null
|
||||||
|
echo " ✅ 已清理: $container_name (${size_gb}GB)"
|
||||||
|
cleared_containers=$((cleared_containers + 1))
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
total_container_gb=$((total_container_log / 1024 / 1024 / 1024))
|
||||||
|
echo "容器日志总大小: ${total_container_gb}GB"
|
||||||
|
echo "已清理容器数: $cleared_containers"
|
||||||
|
|
||||||
|
# ========== 2. 清理 /var/log 日志 ==========
|
||||||
|
echo ""
|
||||||
|
echo "=== 检查系统日志 ==="
|
||||||
|
|
||||||
|
total_syslog_size=0
|
||||||
|
cleared_logs=0
|
||||||
|
|
||||||
|
# 找出 /var/log 下超过阈值的大文件并清理
|
||||||
|
for logfile in $(find /var/log -type f -name "*.log" 2>/dev/null); do
|
||||||
|
if [ -f "$logfile" ]; then
|
||||||
|
size_bytes=$(stat -c%s "$logfile" 2>/dev/null || echo 0)
|
||||||
|
size_gb=$((size_bytes / 1024 / 1024 / 1024))
|
||||||
|
|
||||||
|
total_syslog_size=$((total_syslog_size + size_bytes))
|
||||||
|
|
||||||
|
if [ $size_gb -ge $SYSLOG_THRESHOLD ]; then
|
||||||
|
truncate -s 0 "$logfile" 2>/dev/null
|
||||||
|
echo " ✅ 已清理: $logfile (${size_gb}GB)"
|
||||||
|
cleared_logs=$((cleared_logs + 1))
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 也清理旧的压缩日志
|
||||||
|
for gzfile in $(find /var/log -type f -name "*.gz" 2>/dev/null | head -20); do
|
||||||
|
if [ -f "$gzfile" ]; then
|
||||||
|
rm -f "$gzfile" 2>/dev/null && echo " ✅ 已删: $gzfile"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 清理旧的 log.1, log.2 等轮转文件
|
||||||
|
for oldlog in $(find /var/log -type f -name "*.log.[0-9]*" 2>/dev/null); do
|
||||||
|
rm -f "$oldlog" 2>/dev/null && echo " ✅ 已删: $oldlog"
|
||||||
|
done
|
||||||
|
|
||||||
|
total_syslog_gb=$((total_syslog_size / 1024 / 1024 / 1024))
|
||||||
|
echo "系统日志总大小: ${total_syslog_gb}GB"
|
||||||
|
echo "已清理日志数: $cleared_logs"
|
||||||
|
|
||||||
|
# ========== 3. 磁盘状态 ==========
|
||||||
|
echo ""
|
||||||
|
echo "=== 当前磁盘状态 ==="
|
||||||
|
df -h /
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=========================================="
|
||||||
|
echo "清理完成"
|
||||||
|
echo "=========================================="
|
||||||
@ -2,8 +2,8 @@
|
|||||||
"name" : "TopFans",
|
"name" : "TopFans",
|
||||||
"appid" : "__UNI__F199FF4",
|
"appid" : "__UNI__F199FF4",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "1.0.1",
|
"versionName" : "1.0.2",
|
||||||
"versionCode" : "100",
|
"versionCode" : 100,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
|||||||
@ -8,15 +8,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "pages/square/debug-grid",
|
|
||||||
"style": {
|
|
||||||
"navigationStyle": "custom",
|
|
||||||
"app-plus": {
|
|
||||||
"bounce": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "pages/starbook/index",
|
"path": "pages/starbook/index",
|
||||||
"style": {
|
"style": {
|
||||||
@ -179,18 +170,6 @@
|
|||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// "path": "pages/tasks/daily-tasks",
|
|
||||||
// "style": {
|
|
||||||
// "navigationStyle": "custom"
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// "path": "pages/tasks/guide",
|
|
||||||
// "style": {
|
|
||||||
// "navigationStyle": "custom"
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
"path": "pages/tasks/revenue",
|
"path": "pages/tasks/revenue",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
// API 基础配置
|
// API 基础配置
|
||||||
// const baseURL = 'http://101.132.250.62:8080'
|
const baseURL = 'http://101.132.250.62:8080'
|
||||||
const baseURL = 'http://192.168.110.60:8080'
|
// const baseURL = 'http://192.168.110.60:8080'
|
||||||
// const baseURL = 'http://localhost:8080'
|
// const baseURL = 'http://localhost:8080'
|
||||||
|
|
||||||
// 是否使用模拟数据(开发调试时设为 true,后端API准备好后改为 false)
|
// 是否使用模拟数据(开发调试时设为 true,后端API准备好后改为 false)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user