30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""Ingest rok 2019 z MailStore -> Mongo (fresh checkpoint, blokujici docker exec).
|
|
Stavajici checkpoint 2020+ by 2019 minul (preskoci slozky pred scanem), proto
|
|
samostatny ingest_done_2019.txt. Dedup Message-ID pohlida duplicity."""
|
|
import sys, time, paramiko
|
|
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect("192.168.1.76", username="root", password="7309208104", timeout=10)
|
|
|
|
cmd = (
|
|
"docker exec -e PYTHONIOENCODING=utf-8 python-runner "
|
|
"python -u /scripts/MailStore/mailstore_ingest_v1.0.py "
|
|
"vladimir.buzalka@buzalka.cz --since 2019 --until 2019 "
|
|
"--log-file /scripts/MailStore/ingest_2019.log "
|
|
"--checkpoint /scripts/MailStore/ingest_done_2019.txt"
|
|
)
|
|
tr = c.get_transport()
|
|
ch = tr.open_session()
|
|
ch.exec_command(cmd)
|
|
t0 = time.time()
|
|
while not ch.exit_status_ready():
|
|
time.sleep(30)
|
|
print("[%5.1f min] bezi..." % ((time.time() - t0) / 60), flush=True)
|
|
rc = ch.recv_exit_status()
|
|
print("=== EXIT %d po %.1f min ===" % (rc, (time.time() - t0) / 60), flush=True)
|
|
c.close()
|
|
sys.exit(rc)
|