Get Vms Snapshots and Export Excel has completed.
This commit is contained in:
76
README.md
76
README.md
@@ -1,7 +1,69 @@
|
||||
# 以下需求需要每个月执行一次,使用ansible实现,还是使用python代码实行好?
|
||||
-[x] 获取所有vms
|
||||
-[ ] 获取所有snapshots
|
||||
-[ ] 筛选出15天(半个月)前的snapshots
|
||||
-[ ] 以上内容以Excel表格的形式导出
|
||||
-[ ] 最后删除15天前的snapshot,并同时记录删除的snapshot日志信息
|
||||
-[ ] 需要控制每台vCenter不可以同时删除超过4个快照
|
||||
# RemoveWeeklySnapshot
|
||||
|
||||
> 以下需求需要每周执行一次
|
||||
|
||||
- [x] 连接vCenter/Esxi/Hyper-V
|
||||
- [x] 获取所有 vms
|
||||
- [x] 获取所有 snapshots
|
||||
- [x] 筛选出15天(半个月)前的snapshots
|
||||
- [x] 以上内容以Excel表格的形式导出,超出15天的快照蓝底标识
|
||||
- [ ] 最后删除 15 天前的 snapshot,并同时记录删除的 snapshot 日志信息
|
||||
- [ ] 需要控制每台 vCenter 不可以同时删除超过4个快照
|
||||
- [ ] 增加排除不能删除的快照
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
| 你想获取 | 代码 | 示例输出 |
|
||||
| ------------ | ----------------------------------- | ---------------------------------------------- |
|
||||
| **名称** | `vm.name` | `"WebServer-01"` |
|
||||
| **MOID** | `vm._moId` | `"vm-12"` |
|
||||
| **电源状态** | `vm.runtime.powerState` | `poweredOn` / `poweredOff` |
|
||||
| **开机时间** | `vm.runtime.bootTime` | `datetime` 对象 |
|
||||
| **CPU数** | `vm.config.hardware.numCPU` | `4` |
|
||||
| **内存(MB)** | `vm.config.hardware.memoryMB` | `8192` |
|
||||
| **操作系统** | `vm.config.guestFullName` | `"CentOS 7 (64-bit)"` |
|
||||
| **IP地址** | `vm.guest.ipAddress` | `"192.168.1.100"` |
|
||||
| **主机名** | `vm.guest.hostName` | `"webserver01.local"` |
|
||||
| **存储路径** | `vm.config.files.vmPathName` | `"[Datastore1] WebServer-01/WebServer-01.vmx"` |
|
||||
| **快照数量** | `len(vm.snapshot.rootSnapshotList)` | `3` |
|
||||
|
||||
>vm
|
||||
>├── 基础标识
|
||||
>│ ├── name VM名称
|
||||
>│ └── _moId 内部ID (vm-12)
|
||||
>│
|
||||
>├── runtime 【运行状态】
|
||||
>│ ├── powerState poweredOn/Off/Suspended
|
||||
>│ ├── bootTime 开机时间
|
||||
>│ └── host 所在物理机
|
||||
>│
|
||||
>├── config 【硬件配置】
|
||||
>│ ├── hardware CPU/内存/硬盘
|
||||
>│ ├── guestFullName 操作系统
|
||||
>│ └── files VMX文件路径
|
||||
>│
|
||||
>├── guest 【客户机内部信息】
|
||||
>│ ├── hostName 主机名
|
||||
>│ ├── ipAddress IP地址
|
||||
>│ └── toolsStatus VMware Tools状态
|
||||
>│
|
||||
>├── snapshot 【快照】
|
||||
>│ └── rootSnapshotList 快照树
|
||||
>│
|
||||
>├── storage 【存储】
|
||||
>│ └── perDatastoreUsage 各数据存储用量
|
||||
>│
|
||||
>├── network 【网络】
|
||||
>│ └── [Network] 连接的端口组
|
||||
>│
|
||||
>└── summary 【快速汇总】
|
||||
>├── overallStatus 整体健康状态
|
||||
>└── quickStats 实时性能数据
|
||||
|
||||
|
||||
|
||||
[{'name': 'snap-02', 'description': 'test-Ansible snapshot', 'createTime': '2026-02-17 08:57:39', 'state': 'poweredOff', 'id': 2, 'moId': 'snapshot-27', 'sizeMB': None, 'quiesced': False, 'children': []}]
|
||||
[{'name': 'snap-01', 'description': 'Ansible snapshot', 'createTime': '2026-02-17 03:26:08', 'state': 'poweredOff', 'id': 1, 'moId': 'snapshot-26', 'sizeMB': None, 'quiesced': False, 'children': [{'name': 'snap-02', 'description': 'test-Ansible snapshot', 'createTime': '2026-02-17 08:57:39', 'state': 'poweredOff', 'id': 2, 'moId': 'snapshot-27', 'sizeMB': None, 'quiesced': False, 'children': []}]}]
|
||||
获取到 2 台VM
|
||||
|
||||
Reference in New Issue
Block a user