2025-07-30 18:10:44 +08:00

3.0 KiB
Raw Blame History

阿里云服务器信息查询工具

这是一个Python脚本用于查询一个或多个阿里云账号下的所有ECS云服务器和轻量应用服务器的详细信息并将结果统一导出到一个CSV文件中。

功能特性

  • 多账号支持: 可同时查询多个阿里云账号。
  • 全面的信息: 获取服务器的实例ID、实例名称、公网/内网IP、配置、创建时间及到期时间。
  • CSV导出: 将所有查询结果保存到一个带时间戳的CSV文件中便于归档和分析。
  • 错误处理: 自动跳过不支持或无法访问的区域,确保脚本的健壮性。
  • 现代化的环境管理: 使用 uv 进行快速的环境设置和依赖管理。

项目结构

showAliServer/
├── .venv/                   # uv创建的虚拟环境目录
├── aliyun_servers_*.csv     # 脚本生成的CSV结果文件
├── config.json              # 你的账号配置文件 (需要手动创建)
├── config.json.example      # 账号配置文件模板
├── list_aliyun_servers.py   # 主程序脚本
└── requirements.txt         # 项目依赖列表```

## 环境设置与运行 (使用 uv)

本项目推荐使用 `uv`一个极速的Python包安装和解析器来管理虚拟环境和依赖。

### 1. 安装 uv

如果您还没有安装 `uv`,请根据您的操作系统执行相应的命令:

**macOS / Linux:**
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

irm https://astral.sh/uv/install.ps1 | iex

2. 创建虚拟环境

进入 showAliServer 目录,然后使用 uv 创建一个名为 .venv 的虚拟环境。

cd showAliServer
uv venv

3. 安装依赖

uv 会自动识别 requirements.txt 文件。执行以下命令来安装所有必需的Python库

uv pip install -r requirements.txt

4. 配置账号信息

将配置文件模板 config.json.example 复制一份,并重命名为 config.json

# Linux/macOS
cp config.json.example config.json

# Windows
copy config.json.example config.json

然后,编辑 config.json 文件,填入您真实的阿里云 AccessKey IDAccessKey Secret。可以配置多个账号。

[
  {
    "name": "我的主账号",
    "access_key_id": "YOUR_ACCESS_KEY_ID_1",
    "access_key_secret": "YOUR_ACCESS_KEY_SECRET_1"
  },
  {
    "name": "我的测试账号",
    "access_key_id": "YOUR_ACCESS_KEY_ID_2",
    "access_key_secret": "YOUR_ACCESS_KEY_SECRET_2"
  }
]

5. 运行脚本

确保您仍处于 showAliServer 目录下,并已激活虚拟环境。

激活环境 (只需执行一次):

  • macOS / Linux: source .venv/bin/activate
  • Windows (CMD): .venv\Scripts\activate.bat
  • Windows (PowerShell): .venv\Scripts\Activate.ps1

运行脚本:

python list_aliyun_servers.py

脚本执行完毕后,您会在 showAliServer 目录下找到一个名为 aliyun_servers_YYYYMMDD_HHMMSS.csv 的文件,其中包含了所有服务器的信息。