修改可在config文件自定义运行时间
This commit is contained in:
@@ -11,6 +11,12 @@ def load_config():
|
||||
|
||||
# 全局配置
|
||||
global_config = raw_config.get('global', {})
|
||||
|
||||
# 读取定时任务配置(带默认值)
|
||||
schedule_config = global_config.get('schedule', {})
|
||||
export_schedule = schedule_config.get('export', {'day_of_week': 'sat','hour': 4,'minute': 0, 'second': 0})
|
||||
delete_schedule = schedule_config.get('delete', {'day_of_week': 'sat', 'hour': 19, 'minute': 0, 'second': 0})
|
||||
|
||||
config = {
|
||||
# vCenter/ESXi节点列表
|
||||
"MANAGEMENT_NODES": raw_config.get('management_nodes', []),
|
||||
@@ -18,11 +24,13 @@ def load_config():
|
||||
"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),
|
||||
"SCHEDULE_EXPORT": export_schedule,
|
||||
"SCHEDULE_DELETE": delete_schedule,
|
||||
}
|
||||
|
||||
# 验证配置
|
||||
if not config["MANAGEMENT_NODES"]:
|
||||
raise ValueError("未配置任何管理节点(vCenter 或 ESXi),只少要有一台 management_nodes 节点。")
|
||||
raise ValueError("未配置任何管理节点(vCenter 或 ESXi),至少要有一台 management_nodes 节点。")
|
||||
|
||||
# 检查每个节点的必填字段
|
||||
required_fields = ['type', 'name', 'host', 'user', 'password', 'max_delete_concurrent']
|
||||
@@ -54,7 +62,9 @@ SNAPSHOT_RETENTION_DAYS = config["SNAPSHOT_RETENTION_DAYS"]
|
||||
EXCEL_OUTPUT_PATH = config["EXCEL_OUTPUT_PATH"]
|
||||
YAML_OUTPUT_PATH = config["YAML_OUTPUT_PATH"]
|
||||
DISABLE_SSL_VERIFY = config["DISABLE_SSL_VERIFY"]
|
||||
|
||||
# 调度配置
|
||||
SCHEDULE_EXPORT = config["SCHEDULE_EXPORT"]
|
||||
SCHEDULE_DELETE = config["SCHEDULE_DELETE"]
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 打印全局配置
|
||||
|
||||
Reference in New Issue
Block a user