feat: add homelab deployment configs, documentation, and automation scripts
This commit is contained in:
24
scripts/check_heimdall_python.py
Normal file
24
scripts/check_heimdall_python.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import paramiko
|
||||
import sys
|
||||
|
||||
sys.stdout.reconfigure(encoding='utf-8')
|
||||
c = paramiko.SSHClient()
|
||||
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
c.connect('140.44.4.71', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
||||
|
||||
def run(cmd):
|
||||
print(f"\n>>> {cmd}")
|
||||
_, o, e = c.exec_command(cmd)
|
||||
res = o.read().decode().strip()
|
||||
err = e.read().decode().strip()
|
||||
if res:
|
||||
print(res)
|
||||
if err:
|
||||
print("[stderr]", err)
|
||||
return res
|
||||
|
||||
run("which sqlite3 || echo 'sqlite3 not installed on host'")
|
||||
run("python3 -c \"import sqlite3; con=sqlite3.connect('/mnt/nfs_shares/heimdall/www/app.sqlite'); cur=con.cursor(); print(cur.execute('PRAGMA integrity_check;').fetchall()); print('Total items:', cur.execute('SELECT count(*) FROM items;').fetchone()[0]); print('Duplicates:', cur.execute('SELECT count(*), title FROM items GROUP BY title HAVING count(*) > 1;').fetchall())\"")
|
||||
|
||||
c.close()
|
||||
|
||||
Reference in New Issue
Block a user