|
@@ -1,3 +1,4 @@
|
|
|
+import csv
|
|
|
import os
|
|
|
import subprocess
|
|
|
from pathlib import Path
|
|
@@ -6,6 +7,7 @@ from datetime import datetime
|
|
|
from path_info import PathInfo
|
|
|
import config
|
|
|
from ftp_client import FtpClient
|
|
|
+from db_info import DatabaseInfo
|
|
|
|
|
|
|
|
|
def run_command(cmd, logfile):
|
|
@@ -27,7 +29,8 @@ def shared_files(logfile):
|
|
|
|
|
|
|
|
|
def model_datasources(cfg, model_file: Path, logfile):
|
|
|
- cmd = f'"{cfg.cognos7.program_dir}\\runmac32.exe" "{cfg.tools_dir}\\VBS\\list-datasources-c11.mac" "{model_file.parent}","{model_file.name}","{logfile}"'
|
|
|
+ cmd = f'"{cfg.cognos7.program_dir}\\runmac32.exe" "{cfg.tools_dir}\\VBS\\list-datasources-c11.mac" ' \
|
|
|
+ + f'"{model_file.parent}","{model_file.name}","{logfile}"'
|
|
|
p = subprocess.Popen(cmd)
|
|
|
p.wait()
|
|
|
|
|
@@ -38,6 +41,20 @@ def datasources_all_models(cfg: config.Config):
|
|
|
model_datasources(cfg, model_file, cfg.tasks_dir + '\\config\\models\\' + model_file.name + '.log')
|
|
|
|
|
|
|
|
|
+def database_info(cfg: config.Config):
|
|
|
+ dbinfo = DatabaseInfo()
|
|
|
+ result = []
|
|
|
+ for db in dbinfo.databases():
|
|
|
+ result.extend(dbinfo.table_size(db[0]))
|
|
|
+ csv_file = cfg.tasks_dir + '\\logs\\db_info.csv'
|
|
|
+ with open(csv_file, 'w', encoding='latin-1', newline='') as fwh:
|
|
|
+ wr = csv.writer(fwh, delimiter=';')
|
|
|
+ wr.writerow(['DatabaseName', 'SchemaName', 'TableName', 'RowCounts', 'TotalSpaceKB', 'UsedSpaceKB', 'UnusedSpaceKB', 'LastChanged'])
|
|
|
+ for row in result:
|
|
|
+ wr.writerow(row)
|
|
|
+ return result
|
|
|
+
|
|
|
+
|
|
|
def zip_to_file(base_dir, zip_file):
|
|
|
filter = ['config/*', 'config/info/*', 'config/models/*', 'logs/*', '*.ini', '*.bat']
|
|
|
|
|
@@ -56,7 +73,9 @@ if __name__ == '__main__':
|
|
|
# Laufende Prozesse
|
|
|
task_manager(cfg.tasks_dir + '\\logs\\tasklist.csv')
|
|
|
# aktuelle Freigabe-Sessions
|
|
|
- shared_files(cfg.tasks_dir + '\\logs\\tasklist.csv')
|
|
|
+ shared_files(cfg.tasks_dir + '\\logs\\openfiles.csv')
|
|
|
+ # Tabellengrößen
|
|
|
+ database_info(cfg)
|
|
|
|
|
|
datasources_all_models(cfg)
|
|
|
# Liste aller Dateien im GAPS-Verzeichnis
|