增加自动创建logs和output目录

This commit is contained in:
panjunlan
2026-02-22 10:00:44 +08:00
parent 26678accb7
commit 019c009700
4 changed files with 22 additions and 33 deletions

View File

@@ -1,4 +1,4 @@
import yaml, os
import os, yaml
from datetime import datetime
from utils.logger import logger
@@ -15,10 +15,8 @@ def load_config():
# vCenter/ESXi节点列表
"MANAGEMENT_NODES": raw_config.get('management_nodes', []),
"SNAPSHOT_RETENTION_DAYS": int(global_config.get('snapshot_retention_days', 15)),
# "EXCEL_OUTPUT_PATH": global_config.get('excel_output_path', f'/logs/{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}-VMsSnapShots_report.xlsx'),
# "LOG_FILE_PATH": global_config.get('log_file_path', f'/logs/{datetime.now().strftime('%Y%m%d_%H%M%S')}-VMsSnapShots_cleanup.logs'), "EXCEL_OUTPUT_PATH": global_config.get('excel_output_path', f'/logs/{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}-VMsSnapShots_report.xlsx'),
"EXCEL_OUTPUT_PATH": global_config.get('excel_output_path', f'D:\\PycharmProjects\\RemoveWeeklySnapshot\\output\\vm_snapshots_report-{datetime.now().strftime('%Y-%m-%d')}.xlsx'),
"YAML_OUTPUT_PATH": global_config.get('yaml_output_path', f'D:\\PycharmProjects\\RemoveWeeklySnapshot\\output\\old_snapshots-{datetime.now().strftime('%Y-%m-%d')}.yaml'),
"EXCEL_OUTPUT_PATH": global_config.get('excel_output_path', os.path.join(DATA_DIR, f'vm_snapshots_report-{datetime.now().strftime('%Y-%m-%d')}.xlsx')),
"YAML_OUTPUT_PATH": global_config.get('yaml_output_path', os.path.join(DATA_DIR, f'old_snapshots-{datetime.now().strftime('%Y-%m-%d')}.yaml')),
"DISABLE_SSL_VERIFY": global_config.get('disable_ssl_verify', True),
}
@@ -42,6 +40,11 @@ def load_config():
logger.error(f"❌ 加载配置失败: {str(e)}")
raise
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 获取项目根目录
DATA_DIR = os.path.join(BASE_DIR, 'output') # 获取导出数据的文件根目录
os.makedirs(DATA_DIR, exist_ok=True) # 自动创建目录
# 配置文件路径
CONFIG_PATH = os.path.join(os.path.dirname(__file__), 'config.yaml')
# 加载配置并导出全局变量
@@ -50,7 +53,6 @@ MANAGEMENT_NODES = config["MANAGEMENT_NODES"]
SNAPSHOT_RETENTION_DAYS = config["SNAPSHOT_RETENTION_DAYS"]
EXCEL_OUTPUT_PATH = config["EXCEL_OUTPUT_PATH"]
YAML_OUTPUT_PATH = config["YAML_OUTPUT_PATH"]
#LOG_FILE_PATH = config["LOG_FILE_PATH"]
DISABLE_SSL_VERIFY = config["DISABLE_SSL_VERIFY"]
@@ -59,8 +61,6 @@ if __name__ == "__main__":
print("\n【全局配置】")
print(f" 快照保留天数: {config['SNAPSHOT_RETENTION_DAYS']}")
print(f" Excel输出路径: {EXCEL_OUTPUT_PATH}")
#print(f" 日志文件路径: {LOG_FILE_PATH}")
print(f" 禁用SSL验证: {config['DISABLE_SSL_VERIFY']}")
# 打印管理节点
nodes = config['MANAGEMENT_NODES']
@@ -68,10 +68,7 @@ if __name__ == "__main__":
for i, node in enumerate(nodes, 1):
print(f"\n 节点[{i}]:")
print(f" 类型: {node.get('type')}")
print(f" 名称: {node.get('name')}")
print(f" 地址: {node.get('host')}")
print(f" 用户: {node.get('user')}")
print(f" 密码: {'*' * len(node.get('password', ''))}")
# print(f" 密码: {node.get('password', '')}") # 直接打印出密码
print(f" 最大并发删除: {node.get('max_delete_concurrent')}")
# print(f" 密码: {node.get('password', '')}") # 直接打印出密码