# 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 功能 该脚本提供以下三个主要管理功能: 1. **创建 XDP Ultra Redeem Code** - 生成指定数量的兑换码 - 用于 XDP Ultra 产品的许可证激活 2. **批次绑定商品** - 将序列号批次与商品进行绑定 - 支持批量操作以提高效率 3. **批次更新商品** - 更新已绑定序列号的商品信息 - 支持批量修改商品绑定关系 ## 使用方法 ### 环境配置 在使用前需要确保: 1. **远程服务器配置**(在 `run_sso_script.sh` 中配置): ```bash REMOTE_USER="root" REMOTE_SERVER="172.24.9.97" ``` 2. **本地环境**: - 确保可以通过 SSH 连接到远程服务器 - 远程服务器上存在包含 "celery" 名称的 Proxmox 容器 ### 执行步骤 1. **运行主脚本**: ```bash ./run_sso_script.sh ``` 2. **选择功能**: 脚本启动后会显示交互式菜单: ``` ================================================== SSO 交互式脚本 ================================================== 请选择要执行的功能: 1. 创建 XDP Ultra Redeem Code 2. 批次绑定商品 3. 批次更新商品 0. 退出 ================================================== ``` 3. **按提示输入参数**: - **功能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 进行数据操作 - **许可证管理**:集成许可证颁发和管理系统 ## 注意事项 1. **权限要求**:需要远程服务器的 root 权限 2. **网络连接**:确保与远程服务器的网络连通性 3. **数据安全**:操作涉及生产数据,请谨慎使用 4. **错误处理**:脚本包含基本错误处理,如遇问题请检查输入参数 5. **清理机制**:脚本会自动清理远程临时文件,无需手动操作 ## 故障排除 - **连接失败**:检查 SSH 配置和网络连接 - **容器未找到**:确认远程服务器上存在包含 "celery" 名称的容器 - **权限错误**:确认用户具有必要的系统权限 - **参数错误**:检查输入的 ID 和数值是否正确