- Added run_sso_script.sh for remote script execution with SSH - Added sso_script.py with Django-based SSO management functions - Implemented XDP Ultra redeem code generation functionality - Added batch product binding and update capabilities - Included comprehensive documentation and usage examples - Added automatic cleanup mechanisms for remote temporary files
3.5 KiB
3.5 KiB
SSO 交互式脚本工具
这是一个用于远程执行 SSO (Single Sign-On) 相关管理任务的交互式脚本工具集。
文件说明
run_sso_script.sh- 主要执行脚本,负责将 Python 脚本上传到远程服务器并执行sso_script.py- Django 交互式管理脚本,提供 SSO 系统的各种管理功能
功能概述
run_sso_script.sh 功能
- 自动将本地 Python 脚本上传到远程 Proxmox 容器
- 建立交互式 SSH 连接执行脚本
- 自动清理远程临时文件
- 支持脚本执行过程中的用户交互
sso_script.py 功能
该脚本提供以下三个主要管理功能:
-
创建 XDP Ultra Redeem Code
- 生成指定数量的兑换码
- 用于 XDP Ultra 产品的许可证激活
-
批次绑定商品
- 将序列号批次与商品进行绑定
- 支持批量操作以提高效率
-
批次更新商品
- 更新已绑定序列号的商品信息
- 支持批量修改商品绑定关系
使用方法
环境配置
在使用前需要确保:
-
远程服务器配置(在
run_sso_script.sh中配置):REMOTE_USER="root" REMOTE_SERVER="172.24.9.97" -
本地环境:
- 确保可以通过 SSH 连接到远程服务器
- 远程服务器上存在包含 "celery" 名称的 Proxmox 容器
执行步骤
-
运行主脚本:
./run_sso_script.sh -
选择功能: 脚本启动后会显示交互式菜单:
================================================== SSO 交互式脚本 ================================================== 请选择要执行的功能: 1. 创建 XDP Ultra Redeem Code 2. 批次绑定商品 3. 批次更新商品 0. 退出 ================================================== -
按提示输入参数:
- 功能1:输入要生成的兑换码数量
- 功能2:输入商品ID、批次ID、开始流水号、结束流水号
- 功能3:输入新商品ID、批次ID、开始流水号、结束流水号
使用示例
示例1:创建 50 个 XDP Ultra Redeem Code
请选择要执行的功能: 1
请输入要生成的数量: 50
示例2:批次绑定商品
请选择要执行的功能: 2
请输入商品ID (product_id): 12345
请输入批次ID (batch_id): 67890
请输入开始流水号 (start): 1001
请输入结束流水号 (stop): 1100
示例3:批次更新商品
请选择要执行的功能: 3
请输入新商品ID (new_product_id): 54321
请输入批次ID (batch_id): 67890
请输入开始流水号 (start): 1001
请输入结束流水号 (stop): 1100
技术架构
- 远程执行:使用 SSH 和 Proxmox 容器技术
- Django 集成:脚本运行在 Django 环境中,可访问相关数据模型
- 数据处理:使用 MongoDB 和 FlexEngine 进行数据操作
- 许可证管理:集成许可证颁发和管理系统
注意事项
- 权限要求:需要远程服务器的 root 权限
- 网络连接:确保与远程服务器的网络连通性
- 数据安全:操作涉及生产数据,请谨慎使用
- 错误处理:脚本包含基本错误处理,如遇问题请检查输入参数
- 清理机制:脚本会自动清理远程临时文件,无需手动操作
故障排除
- 连接失败:检查 SSH 配置和网络连接
- 容器未找到:确认远程服务器上存在包含 "celery" 名称的容器
- 权限错误:确认用户具有必要的系统权限
- 参数错误:检查输入的 ID 和数值是否正确