notebookVb
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import psycopg2
|
||||
|
||||
conn = psycopg2.connect(host="192.168.1.76", port=5432, user="vladimir.buzalka",
|
||||
password="Vlado7309208104++", database="fotky_buzalkovi")
|
||||
cur = conn.cursor()
|
||||
|
||||
cur.execute("""
|
||||
SELECT
|
||||
COUNT(*) AS unikatnich_souboru,
|
||||
SUM(velikost) AS celkova_velikost,
|
||||
AVG(velikost) AS prumerna_velikost,
|
||||
MIN(velikost) AS nejmensi,
|
||||
MAX(velikost) AS nejvetsi
|
||||
FROM zaloha_obrazku
|
||||
""")
|
||||
z = cur.fetchone()
|
||||
|
||||
cur.execute("SELECT COUNT(*), COUNT(DISTINCT hostname) FROM zdrojove_soubory")
|
||||
s = cur.fetchone()
|
||||
|
||||
cur.execute("SELECT hostname, COUNT(*) FROM zdrojove_soubory GROUP BY hostname ORDER BY hostname")
|
||||
hosts = cur.fetchall()
|
||||
|
||||
conn.close()
|
||||
|
||||
def fmt(b):
|
||||
if b is None: return "N/A"
|
||||
for unit in ("B", "KB", "MB", "GB", "TB"):
|
||||
if b < 1024: return f"{b:.1f} {unit}"
|
||||
b /= 1024
|
||||
return f"{b:.1f} PB"
|
||||
|
||||
print("=" * 45)
|
||||
print(" ZÁLOHA — statistiky")
|
||||
print("=" * 45)
|
||||
print(f" Unikátních souborů (záloha): {z[0]:>10,}")
|
||||
print(f" Celková velikost: {fmt(z[1]):>10}")
|
||||
print(f" Průměrná velikost: {fmt(z[2]):>10}")
|
||||
print(f" Nejmenší soubor: {fmt(z[3]):>10}")
|
||||
print(f" Největší soubor: {fmt(z[4]):>10}")
|
||||
print()
|
||||
print(f" Zdrojových záznamů celkem: {s[0]:>10,}")
|
||||
print(f" Počet zdrojových serverů: {s[1]:>10,}")
|
||||
print()
|
||||
print(" Záznamy podle hostname:")
|
||||
for host, count in hosts:
|
||||
print(f" {host:<20} {count:>8,} souborů")
|
||||
print("=" * 45)
|
||||
Reference in New Issue
Block a user