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

105 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 阿里云服务器信息查询工具
这是一个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:**
```powershell
irm https://astral.sh/uv/install.ps1 | iex
```
### 2. 创建虚拟环境
**进入 `showAliServer` 目录**,然后使用 `uv` 创建一个名为 `.venv` 的虚拟环境。
```bash
cd showAliServer
uv venv
```
### 3. 安装依赖
`uv` 会自动识别 `requirements.txt` 文件。执行以下命令来安装所有必需的Python库
```bash
uv pip install -r requirements.txt
```
### 4. 配置账号信息
将配置文件模板 `config.json.example` 复制一份,并重命名为 `config.json`
```bash
# Linux/macOS
cp config.json.example config.json
# Windows
copy config.json.example config.json
```
然后,编辑 `config.json` 文件,填入您真实的阿里云 `AccessKey ID``AccessKey Secret`。可以配置多个账号。
```json
[
{
"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`
**运行脚本:**
```bash
python list_aliyun_servers.py
```
脚本执行完毕后,您会在 `showAliServer` 目录下找到一个名为 `aliyun_servers_YYYYMMDD_HHMMSS.csv` 的文件,其中包含了所有服务器的信息。