28 lines
737 B
Bash
28 lines
737 B
Bash
#!/bin/bash
|
|
|
|
# 设置最大日志文件大小
|
|
MAX_LOG_SIZE=$((10 * 1024 * 1024)) # 10MB
|
|
|
|
# 函数: 清理日志文件
|
|
clean_log() {
|
|
local log_file=$1
|
|
|
|
# 设置日志备份文件路径
|
|
local backup_log_file="${log_file}_$(date '+%Y-%m-%d_%H-%M-%S').log"
|
|
|
|
if [ -f "$log_file" ]; then
|
|
local log_size=$(stat -c%s "$log_file")
|
|
if [ "$log_size" -ge "$MAX_LOG_SIZE" ]; then
|
|
mv "$log_file" "$backup_log_file"
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 日志文件 $log_file 已备份并清空。" > "$log_file"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# 清理传递的所有日志文件
|
|
for log_file in "$@"; do
|
|
clean_log "$log_file"
|
|
done
|
|
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 清理日志脚本运行完成。" >> "/var/log/startup_script.log"
|