1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户有没有Linux自动化管理日志的脚本可以参考一下?
#!/bin/bash
# 配置参数,按需修改
LOG_DIR="/var/log" # 日志存放目录
ARCHIVE_DIR="/var/log/archive" # 存档目录
DATE_FORMAT=$(date +"%Y%m%d%H%M%S") # 日期格式
KEEP_DAYS=30 # 保留时长,天数
FILE_SUFFIX="log" # 日志文件后缀名
# 创建日志存档目录(如果不存在)
mkdir -p $ARCHIVE_DIR
# 转移到日志目录
cd $LOG_DIR
# 获取需要处理的日志文件
LOG_FILES=$(find . -maxdepth 1 -name "*.$FILE_SUFFIX" -type f)
# 遍历所有日志文件
for file in $LOG_FILES; do
echo "Processing: $file"
FILE_NAME=$(basename $file)
ARCHIVE_FILE="$ARCHIVE_DIR/$FILE_NAME-$DATE_FORMAT.gz"
# 压缩文件
gzip -c $FILE_NAME > $ARCHIVE_FILE
# 收缩文件
echo "" > $FILE_NAME
done
# 删除旧的日志文件
find $ARCHIVE_DIR -mtime +$KEEP_DAYS -exec rm {} \;
echo "Log management script completed."
评论
有用 0
墨值悬赏