生产实战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"
}
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 "执行完毕"