生产实战shell,给安全部门提供日志

本文介绍了一个使用bashshell编写的脚本,用于在特定日期范围内备份多个网站的日志,包括WebLogic、Nginx和Apache的日志,并采用多线程并发执行。
摘要由CSDN通过智能技术生成

生产实战shell,给安全部门提供日志

#!/bin/bash

backup_dir="/data/rw_copy"
log_dir="/data/weblogic_log/test/yingyong"
nginx_log_dir="/data/nginx_log"
apache_log_dir="/data/apache_log"
weblogic_log_dir="/data/weblogic_log"

#日期
dates=("202301*" "202302*" "202303*" "202304*" "202305*")

backup_website_logs() {
  local website_name=$1
  local log_pattern=$2
  local website_log_dir=""

  # 根据网站名称选择对应的日志路径
  case $website_name in
    "test.com")
      website_log_dir="$log_dir"
      ;;
    "test2.com")
      website_log_dir="$nginx_log_dir"
      ;;
    "test3.com")
      website_log_dir="$nginx_log_dir"
      ;;
    "test4.com")
      website_log_dir="$weblogic_log_dir"
      ;;
    "test5.com")
      website_log_dir="$weblogic_log_dir"
      ;;
    "test6.com")
      website_log_dir="$apache_log_dir"
      ;;
    "test7.com")
      website_log_dir="$nginx_log_dir"
      ;;
    "test8.com")
      website_log_dir="$nginx_log_dir"
      ;;
    "test9.com")
      website_log_dir="$nginx_log_dir"
      ;;
    "test10.com")
      website_log_dir="$nginx_log_dir"
      ;;
    "test11.com")
      website_log_dir="$nginx_log_dir"
      ;;
    *)
      echo "未定义网站名称: $website_name"
      return
      ;;
  esac
  
  if [ -z "$website_log_dir" ]; then
    echo "未定义日志路径: $website_name"
    return
  fi
  
  
  #新建备份目录
  mkdir -p "$backup_dir/$website_name"
  
  for date in "${dates[@]}"; do
   #拷贝日志
    cp -R $website_log_dir/$date/$log_pattern $backup_dir/$website_name/
  done
  
  cd "$backup_dir"
  #压缩日志
  tar czvf "$website_name.tar.gz" "$website_name"
  #rm -rf "$backup_dir/$website_name"
}


# 使用多线程执行备份操作
backup_website_logs "test.com" "*log" &
backup_website_logs "test2.com" "test2*" &
backup_website_logs "test3.com" "test3*" &
backup_website_logs "test4.com" "test4*" &
backup_website_logs "test5.com" "test5*" &
backup_website_logs "test6.com" "test6*" &
backup_website_logs "test7.com" "test7*" &
backup_website_logs "test8.com" "test8*" &
backup_website_logs "test9.com" "test9*" &
backup_website_logs "test10.com" "test10*" &
backup_website_logs "test11.com" "test11*" &

# 等待所有后台进程执行完毕
wait

echo "执行完毕"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大虾别跑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值