添加了删除快照的功能
This commit is contained in:
43
README.md
43
README.md
@@ -9,14 +9,27 @@ Vmware 虚拟机自动化程序:自动化导出虚拟机和快照信息,自
|
||||
- [x] 获取所有 snapshots
|
||||
- [x] 筛选出15天(半个月)前的 snapshots
|
||||
- [x] 以上内容以 Excel 表格的形式导出,超出 15 天的快照蓝色底填充标识
|
||||
- [ ] 增加排除不能删除的快照信息,用红色底填充标识
|
||||
- [ ] Outlook 邮箱发送超出 15 天的快照信息
|
||||
- [ ] 增加排除不能删除的 snapshots 信息,用红色底填充标识
|
||||
- [ ] Outlook 邮箱发送统计超过 15 天的 snapshots 信息(即要删除的快照列表)
|
||||
- [ ] 需要控制每台 vCenter 不可以同时删除超过 4 个快照(需要同时获取删除成功的信息)
|
||||
- [ ] 最后删除 15 天前的 snapshot,并同时记录删除的 snapshot 日志信息
|
||||
- [x] 最后删除 15 天前的 snapshot,并同时记录删除的 snapshot 日志信息
|
||||
- [ ] 删除成功后发送邮件通知
|
||||
- [ ] 设置计划任务,每 2 周(半个月)执行一次
|
||||
|
||||
|
||||
|
||||
✅ 多线程删除
|
||||
|
||||
✅ 任务进度显示
|
||||
|
||||
✅ 自动重试机制
|
||||
|
||||
✅ 企业级日志
|
||||
|
||||
✅ 删除前后发送邮件通知
|
||||
|
||||
|
||||
|
||||
## 输出所有可用的属性和方法
|
||||
|
||||
| 你想获取 | 代码 | 示例输出 |
|
||||
@@ -112,7 +125,6 @@ Vmware 虚拟机自动化程序:自动化导出虚拟机和快照信息,自
|
||||
|
||||
``` json
|
||||
['AcquireMksTicket', 'AcquireTicket', 'Answer', 'AnswerVM', 'ApplyEvcMode', 'ApplyEvcModeVM_Task', 'Array', 'AttachDisk', 'AttachDisk_Task', 'CheckCustomizationSpec', 'Clone', 'CloneVM_Task', 'ConsolidateDisks', 'ConsolidateVMDisks_Task', 'CreateScreenshot', 'CreateScreenshot_Task', 'CreateSecondary', 'CreateSecondaryEx', 'CreateSecondaryVMEx_Task', 'CreateSecondaryVM_Task', 'CreateSnapshot', 'CreateSnapshotEx', 'CreateSnapshotEx_Task', 'CreateSnapshot_Task', 'CryptoUnlock', 'CryptoUnlock_Task', 'Customize', 'CustomizeVM_Task', 'DefragmentAllDisks', 'Destroy', 'Destroy_Task', 'DetachDisk', 'DetachDisk_Task', 'DisableSecondary', 'DisableSecondaryVM_Task', 'DropConnections', 'EnableSecondary', 'EnableSecondaryVM_Task', 'EstimateStorageForConsolidateSnapshots_Task', 'EstimateStorageRequirementForConsolidate', 'ExportVm', 'ExtractOvfEnvironment', 'InstantClone', 'InstantClone_Task', 'MakePrimary', 'MakePrimaryVM_Task', 'MarkAsTemplate', 'MarkAsVirtualMachine', 'Migrate', 'MigrateVM_Task', 'MountToolsInstaller', 'PowerOff', 'PowerOffVM_Task', 'PowerOn', 'PowerOnVM_Task', 'PromoteDisks', 'PromoteDisks_Task', 'PutUsbScanCodes', 'QueryChangedDiskAreas', 'QueryConnections', 'QueryFaultToleranceCompatibility', 'QueryFaultToleranceCompatibilityEx', 'QueryUnownedFiles', 'RebootGuest', 'ReconfigVM_Task', 'Reconfigure', 'RefreshStorageInfo', 'Reload', 'ReloadFromPath', 'Relocate', 'RelocateVM_Task', 'RemoveAllSnapshots', 'RemoveAllSnapshots_Task', 'Rename', 'Rename_Task', 'Reset', 'ResetGuestInformation', 'ResetVM_Task', 'RevertToCurrentSnapshot', 'RevertToCurrentSnapshot_Task', 'SendNMI', 'SetCustomValue', 'SetDisplayTopology', 'SetScreenResolution', 'ShutdownGuest', 'StandbyGuest', 'StartRecording', 'StartRecording_Task', 'StartReplaying', 'StartReplaying_Task', 'StopRecording', 'StopRecording_Task', 'StopReplaying', 'StopReplaying_Task', 'Suspend', 'SuspendVM_Task', 'Terminate', 'TerminateFaultTolerantVM', 'TerminateFaultTolerantVM_Task', 'TerminateVM', 'TurnOffFaultTolerance', 'TurnOffFaultToleranceForVM_Task', 'UnmountToolsInstaller', 'Unregister', 'UnregisterVM', 'UpgradeTools', 'UpgradeTools_Task', 'UpgradeVM_Task', 'UpgradeVirtualHardware', '_GetMethodInfo', '_GetMethodList', '_GetMoId', '_GetPropertyInfo', '_GetPropertyList', '_GetServerGuid', '_GetStub', '_InvokeAccessor', '_InvokeMethod', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', '_methodInfo', '_moId', '_propInfo', '_propList', '_serverGuid', '_stub', '_version', '_wsdlName', 'alarmActionsEnabled', 'availableField', 'capability', 'config', 'configIssue', 'configStatus', 'customValue', 'datastore', 'declaredAlarmState', 'disabledMethod', 'effectiveRole', 'environmentBrowser', 'guest', 'guestHeartbeatStatus', 'layout', 'layoutEx', 'name', 'network', 'overallStatus', 'parent', 'parentVApp', 'permission', 'recentTask', 'reloadVirtualMachineFromPath_Task', 'resourceConfig', 'resourcePool', 'rootSnapshot', 'runtime', 'setCustomValue', 'snapshot', 'storage', 'summary', 'tag', 'triggeredAlarmState', 'value']
|
||||
|
||||
```
|
||||
|
||||
|
||||
@@ -382,6 +394,29 @@ if __name__ == '__main__':
|
||||
|
||||
``` powershell
|
||||
PS D:\PycharmProjects\RemoveWeeklyShapshot> tree /F
|
||||
卷 Date 的文件夹 PATH 列表
|
||||
卷序列号为 0E45-0F72
|
||||
D:.
|
||||
│ README.md # 项目描述
|
||||
│
|
||||
├─config # 项目程序配置文件
|
||||
│ │ config.yaml
|
||||
│ │ settings.py
|
||||
│
|
||||
├─core # 核心程序
|
||||
│ │ deleteSnapshots.py
|
||||
│ │ getVmsSnapshots.py
|
||||
│
|
||||
├─logs # 日志文件
|
||||
│ 20260220-RemoveWeeklyShapshot.log
|
||||
│
|
||||
├─output # 数据输出文件
|
||||
│ 2026-02-20-old_snapshots.yaml
|
||||
│ 2026-02-20_20-36-45-VMsSnapShots_report.xlsx
|
||||
│
|
||||
├─utils # 日志输出格式设置
|
||||
│ │ logger.py
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user