#!/bin/bash
# 定义日志文件存放目录
LOG_DIR="/var/log"
# 定义合并后的日志文件名
MERGED_LOG_FILE="merged_logs_$(date +%Y%m%d).log"
# 创建一个临时文件用于存储所有日志内容
TEMP_FILE=$(mktemp)
# 遍历指定目录下的所有日志文件,并将其内容追加到临时文件中
for log_file in $LOG_DIR/*.log; do
if [ -f "$log_file" ]; then
cat "$log_file" >> "$TEMP_FILE"
echo "Merged $log_file into $MERGED_LOG_FILE"
fi
done
# 将临时文件的内容写入到最终的合并日志文件中
mv "$TEMP_FILE" "$LOG_DIR/$MERGED_LOG_FILE"
echo "All logs have been merged into $LOG_DIR/$MERGED_LOG_FILE"
LOG_DIR
指定日志文件所在的目录,MERGED_LOG_FILE
是合并后的日志文件名,使用当前日期作为后缀。TEMP_FILE
用于存储所有日志文件的内容,避免直接操作最终的合并文件。for
循环遍历指定目录下的所有 .log
文件,并将它们的内容追加到临时文件中。这个脚本可以方便地将多个日志文件合并为一个文件,便于后续分析和处理。
上一篇:linux安装npm
下一篇:linuxecho命令详解
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站