start_remote_download.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import os
  2. import time
  3. import paramiko
  4. from dotenv import load_dotenv
  5. repo_root = "c:/Users/lanfr144/Documents/DOPRO1/Antigravity/Food"
  6. load_dotenv(dotenv_path=os.path.join(repo_root, ".env"))
  7. host = os.environ.get('SERVER_HOST', '192.168.130.170')
  8. user = os.environ.get('SERVER_USER', 'francois')
  9. password = os.environ.get('SERVER_PASS', 'BTSai123')
  10. def main():
  11. ssh = paramiko.SSHClient()
  12. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  13. try:
  14. ssh.connect(host, username=user, password=password, timeout=15)
  15. print("Connected successfully!")
  16. # Start download in background using nohup
  17. print("Starting download_csv.sh in the background...")
  18. ssh.exec_command("cd ~/food_project && nohup bash download_csv.sh > download.log 2>&1 &")
  19. # Let's wait a few seconds and monitor file size growth
  20. time.sleep(3)
  21. print("Monitoring download file size progress for 30 seconds:")
  22. for _ in range(6):
  23. stdin, stdout, stderr = ssh.exec_command("ls -lh ~/food_project/data/en.openfoodfacts.org.products.csv")
  24. out = stdout.read().decode('utf-8').strip()
  25. print(f"File status: {out}")
  26. time.sleep(5)
  27. except Exception as e:
  28. print(f"Error: {e}")
  29. finally:
  30. ssh.close()
  31. if __name__ == "__main__":
  32. main()