[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/miltozz/learn-python/main/python_tips/linode_api.py [Back]  [Original]

#Needs cleaning

#restart linode server
import linode_api4 #pip install linode-api4
import os
import paramiko
import time


LINODE_TOKEN = os.getenv('LINODE_TOKEN') #env var for LINODE ACCESS TOKEN


def restart_container():
    ssh = paramiko.SSHClient()

    # known_hosts prompt
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    # connect as ec2-user with .pem | root connection might require priv-key pub-key.pub
    ssh.connect(hostname='18.184.246.158',
                username="ec2-user",
                key_filename='/home/mltamd/.ssh/ec2-key-pair-frankfurt.pem')
    stdin, stdout, stderr = ssh.exec_command('docker start 06b420614a68')
    print(stdout.readlines())
    ssh.close()


#restart linode server
client = linode_api4.LinodeClient(LINODE_TOKEN)
nginx_server = client.load(linode_api4.Instance, 123456789) #linode server id
nginx_server.reboot()

#restart the app container
while True:
    nginx_server = client.load(linode_api4.Instance, 123456789) #linode server id
    time.sleep(5)
    if nginx_server.status == 'running':
        time.sleep(10)
        restart_container()
        break

Web Proxy Viewer  |  New URL  |  Original Page