开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 0

liguifeng/Python

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
main
分支 (1)
main
main
分支 (1)
main
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
main
分支 (1)
main
python
/
onesec
/
config.sh
python
/
onesec
/
config.sh
config.sh 9.27 KB
一键复制 编辑 原始数据 按行查看 历史
liguifeng 提交于 2026年01月09日 18:14 +08:00 . scripts
#!/bin/bash
#### 所有检测再check开头中操作,具体功能模块传入的参数不在检测
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)
BACKUP_PATH=$SCRIPT_DIR/SECBACKUP
TIME=$(date +"%Y%m%d%H%M%S") #执行后不在更新,确保统一
RUN_LOG=$SCRIPT_DIR/SECBACKUP/0ドル.log
## 系统关键项检查
#function system_check() {
# socat 命令检测
#}
function backup() {
unset enum
unset file
enum=1ドル
file=2ドル
if [ -n "$enum" ] && [ "$enum" == "setting" ] && [ -n "$file" ] && [ -f "$file" ];then
TARGET_PATH="setting"
elif [ -n "$enum" ] && [ "$enum" == "upgrade" ] && [ -n "$file" ] && [ -f "$file" ]; then
TARGET_PATH="upgrade"
else
echo -e "[$(date +"%Y-%m%d-%H%M%S")] 不符合备份条件,无法备份,停止执行"
exit 1
fi
mkdir -p "$BACKUP_PATH/$TARGET_PATH/$TIME"
cp -rf "$file" "$BACKUP_PATH/$TARGET_PATH/$TIME"
}
# 设置java服务启动脚本端代理
function set_java_scripts_proxy() {
unset file_path
unset file_lines
unset num
unset java_config
unset java_proxy_config
unset proxy_host
unset proxy_port
proxy_host=1ドル #代理地址
proxy_port=2ドル #代理端口
file_path=3ドル #实际的文件路径,非备份路径
file_lines=$(awk 'END {print NR}' "$file_path" ) #文件总行数
for line in $(seq 1 "$file_lines") # 逐行读取数据进行正则匹配
do
line_data=$(awk "NR==${line}" "$file_path")
java_index=$(echo "$line_data" | grep -E '^java') #匹配到java开头的数据
if [ -n "$java_index" ];then #计算展示java开头后面内容的行数
if [ "$file_lines" == "$line" ]; then #要是两个值相等,代表代理是一行且在最后一行,赋值为1 只展示一行
num=1
break
fi
num=$(("$file_lines" - "$line"))
fi
done
java_config=($(grep -A $num -E '^java' "$file_path" | tr '\n' ' ' | tr -d '\\' | awk -F ' ' '{print 0ドル}')) #过滤java配置写入 java_config数组中
for ((i=0;i<"${#java_config[@]}";i++));do #检测是否已经存在代理,存在,就删除
if [[ "${java_config[$i]}" =~ ^[$] ]];then #匹配如果是个以$开头 证明是变量直接跳过不在加载
continue
fi
filter_proxy=$(echo "${java_config[$i]}" | grep -E '^-Dhttp.proxy|^-Dhttps.proxy|^-Dhttp.nonProxy') #正则检测代理是否存在,存在就删除
if [ -n "$filter_proxy" ]; then
unset java_config[$i]
fi
done
java_config=("${java_config[@]}") #索引重建
for ((i=0;i<"${#java_config[@]}";i++));do #循环写入新的代理数据
if [ "$i" == 2 ];then #匹配如果是个以$开头代理配置加在后面
java_proxy_config+=("${java_config[$i]}")
java_proxy_config+=("-Dhttp.proxyHost=$proxy_host")
java_proxy_config+=("-Dhttp.proxyPort=$proxy_port")
java_proxy_config+=("-Dhttps.proxyHost=$proxy_host")
java_proxy_config+=("-Dhttps.proxyPort=$proxy_port")
java_proxy_config+=('-Dhttp.nonProxyHosts="127.0.0.1|onesec-redis-service|onesec-kafka-service|onesec-es-service|onesec-log-service|onesec-le-service|onesec-backend-service|onesec-base-service|onesec-monitor-service|onesec-data-service"')
else
java_proxy_config+=("${java_config[$i]}")
fi
done
for line in $(seq 1 "$file_lines") # 删除java开头的记录内容
do
line_data=$(awk "NR==${line}" "$file_path")
java_index=$(echo "$line_data" | grep -E '^java') #匹配到java开头的数据
if [ -n "$java_index" ] && [ "$file_lines" == "$line" ]; then
sed -i "$line"d "$file_path"
break
elif [ -n "$java_index" ]; then
sed -i "$line,$file_lines"d "$file_path"
fi
done
for ((i=0;i<"${#java_proxy_config[@]}";i++));do #开始写入新数据
if [ "$i" == 0 ] && [[ ${java_proxy_config[$i]} =~ ^java$ ]];then #为了美观 开头先输出三个一行
printf "%s" "${java_proxy_config[$i]}${java_proxy_config[$(($i+1))]}${java_proxy_config[$(($i+1+1))]}" >> "$file_path"
printf "%s\n" " \\" >> "$file_path"
i=$(("$i"+2))
continue
fi
if [[ ${java_proxy_config[$i]} =~ \.jar$ ]]; then #识别到下一个是结尾直接就一起输出就结束
printf "%s" "${java_proxy_config[$i]}${java_proxy_config[$(("$i" + 1))]}" >> "$file_path"
break
elif [[ ${java_proxy_config[$(($i + 1))]} =~ \.jar$ ]]; then
printf "%s" "${java_proxy_config[$i]}${java_proxy_config[$(("$i" + 1))]}${java_proxy_config[$(("$i" + 1 + 1))]}" >> "$file_path"
break
fi
if [[ "${#java_proxy_config[$i]}" -lt 98 ]] && [[ "${#java_proxy_config[$(("$i"+1))]}" -le 99 ]];then #其他情况两个长度低于90的两两输出
printf "%s" "${java_proxy_config[$i]}${java_proxy_config[$(("$i" + 1))]}" >> "$file_path"
printf "%s\n" " \\" >> "$file_path"
i=$(("$i"+1))
continue
else
printf "%s" "${java_proxy_config[$i]}" >> "$file_path" #如果长度超过90就单独输出一行
printf "%s\n" " \\" >> "$file_path"
fi
done
}
# 引擎代理重复执行写入
function set_engine_proxy() {
unset proxy_host
unset proxy_port
proxy_host=1ドル #代理地址
proxy_port=2ドル #代理端口
engine_cfg_path="/data/onesec/store/java-onesec-server/le-service/ti_engine/engine.cfg"
sed -i '/^proxy_type/d' $engine_cfg_path
sed -i '/^proxy_addr/d' $engine_cfg_path
sed -i '/^proxy_port/d' $engine_cfg_path
{
echo 'proxy_type http'
echo "proxy_addr $proxy_host"
echo "proxy_port $proxy_port"
} >> $engine_cfg_path
}
# 病毒库代理重复执行写入
function set_bd_proxy() {
unset proxy_host
unset proxy_port
proxy_host=1ドル #代理地址
proxy_port=2ドル #代理端口
bd_proxy_conf="/usr/onesec/bd-update/mirror.cnf"
sed -i '/^USE_PROXY/d' $bd_proxy_conf
echo "USE_PROXY=$proxy_host:$proxy_port" >> $bd_proxy_conf
}
# nginx代理配置
function set_nginx_proxy() {
}
# 获取服务中代理地址与代理地址端口并写代理到文件中
function check_server_proxy_write_to_file() {
unset PROXY_HOST
unset PROXY_PORT
SERVER_SCRITPS=1ドル #脚本文件路径
[ -z $SERVER_SCRITPS ] && exit 1
proxy_host=($(cat $SERVER_SCRITPS | awk -F 'proxyHost=' '{print 2ドル}' | awk '{print 1ドル}' | grep -E '[^ ]')) #检测结果预期是个数组其中两个相同的地址
proxy_port=($(cat $SERVER_SCRITPS | awk -F 'proxyPort=' '{print 2ドル}' | awk '{print 1ドル}' | grep -E '[^ ]')) #检测结果预期是个数组其中两个相同的端口
if [ ${#proxy_host[@]} != 0 ] && [ ${#proxy_port[@]} != 0 ] && [ ${#proxy_host[@]} == ${#proxy_port[@]} ]; then # 不等于0,并且两边取的值相等继续执行
echo -e "Check Proxy Success"
PROXY_HOST="${proxy_host[0]}" #取索引中第一个
PROXY_PORT="${proxy_port[0]}" #取索引中第一个
if [[ $PROXY_HOST =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] && [[ $PROXY_PORT =~ [0-9]{1,5} ]] && [ $PROXY_PORT -le 65535 ];then
echo -e "proxy host: $PROXY_HOST"
echo -e "proxy port: $PROXY_PORT"
printf "%s" TestConnection ...
local connect=$(curl --connect-timeout 5 http://$PROXY_HOST:$PROXY_PORT &>/dev/null ; echo $?)
[ $connect -eq 0 ] && printf "%s\n" successful || printf "%s\n" failed && exit 1
# 从备份路径获取代理地址和端口,传入函数,另外需要传入要修改的文件全路径
set_java_scripts_proxy "$PROXY_HOST" "$PROXY_PORT" /usr/onesec/java-onesec-base/scripts/start-base-service.sh
set_java_scripts_proxy "$PROXY_HOST" "$PROXY_PORT" /usr/onesec/java-onesec-server/scripts/start-log-service.sh
set_java_scripts_proxy "$PROXY_HOST" "$PROXY_PORT" /usr/onesec/java-onesec-server/scripts/start-le-service.sh
set_engine_proxy "$PROXY_HOST" "$PROXY_PORT"
set_bd_proxy "$PROXY_HOST" "$PROXY_PORT"
echo -e "Proxy configuration has been written successfully"
else
echo -e "Proxy address is invalid , The environment may need to be adjusted for abnormalities before execution."
exit 1
fi
else
echo -e "No proxy detected"
fi
}
function upgrade_system() {
# 备份文件
backup upgrade /usr/onesec/java-onesec-base/scripts/start-base-service.sh
backup upgrade /usr/onesec/java-onesec-server/scripts/start-log-service.sh
backup upgrade /usr/onesec/java-onesec-server/scripts/start-le-service.sh
backup upgrade /data/onesec/store/java-onesec-server/le-service/ti_engine/engine.cfg
backup upgrade /usr/onesec/bd-update/mirror.cnf
backup upgrade /data/onesec/scripts/file_proxy_socat.sh
backup upgrade /etc/onesec/system/nginx/nginx.conf
[ -f /data/onesec/scripts/test_proxy.sh ] && backup upgrade /data/onesec/scripts/test_proxy.sh
backup upgrade /var/spool/cron/root
# 备份结束
# 开始升级系统
# 系统升级命令结束
# 检查旧配置是否有改动,读取改动部分
# 检查服务启动脚本中代理
check_server_proxy_write_to_file /usr/onesec/java-onesec-base/scripts/start-base-service.sh
}
#check_server_proxy 1ドル
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

暂无描述
暂无标签
MulanPSL-2.0
使用 MulanPSL-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/RemoteCodeRepositories/python.git
git@gitee.com:RemoteCodeRepositories/python.git
RemoteCodeRepositories
python
Python
main
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /