32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
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()
|
|
if res:
|
|
print(res)
|
|
return res
|
|
|
|
run("""python3 -c "
|
|
import sqlite3
|
|
con = sqlite3.connect('/mnt/nfs_shares/heimdall/www/app.sqlite')
|
|
cur = con.cursor()
|
|
print('Active items (deleted_at IS NULL):', cur.execute('SELECT count(*) FROM items WHERE deleted_at IS NULL;').fetchone()[0])
|
|
print('Deleted items (deleted_at IS NOT NULL):', cur.execute('SELECT count(*) FROM items WHERE deleted_at IS NOT NULL;').fetchone()[0])
|
|
print('Active items duplicates:')
|
|
print(cur.execute('SELECT count(*), title FROM items WHERE deleted_at IS NULL GROUP BY title HAVING count(*) > 1;').fetchall())
|
|
print('Active pinned items:')
|
|
for r in cur.execute('SELECT id, title, \"order\", pinned FROM items WHERE deleted_at IS NULL AND pinned = 1 ORDER BY \"order\";').fetchall():
|
|
print(r)
|
|
" """)
|
|
|
|
c.close()
|
|
|