[python] Fabric으로 독립적인 Python 스크립트 실행하기

파이썬 개발자라면 Fabric라는 도구를 한 번쯤 들어보았을 것입니다. Fabric은 SSH를 통해 원격 서버에 명령을 전송하거나 스크립트를 실행하는데 사용되는 도구입니다. 이번 글에서는 Fabric을 사용하여 독립적인 Python 스크립트를 원격 서버에서 실행하는 방법에 대해 알아보겠습니다.

Fabric 설치하기

먼저 Fabric을 설치해야 합니다. 다음 명령을 사용하여 Fabric을 설치할 수 있습니다.

pip install fabric

독립적인 Python 스크립트 작성하기

Fabric을 사용하여 원격 서버에서 실행할 독립적인 Python 스크립트를 작성해보겠습니다. 아래 예제 코드는 간단한 “hello_world.py” 스크립트입니다. 이 스크립트는 실행되면 “Hello, World!”를 출력합니다.

# hello_world.py

def main():
    print("Hello, World!")

if __name__ == "__main__":
    main()

Fabric 스크립트 작성하기

이제 Fabric 스크립트를 작성해보겠습니다. Fabric 스크립트는 Fabfile.py라는 이름으로 저장되어야 합니다. 아래 예제는 “hello_world.py” 스크립트를 원격 서버에서 실행하는 Fabric 스크립트입니다.

# Fabfile.py

from fabric import Connection

def run_script(c):
    c.put("hello_world.py", "/tmp/hello_world.py")  # 원격 서버에 스크립트 업로드
    c.run("python3 /tmp/hello_world.py")  # 원격 서버에서 스크립트 실행

def main():
    # 원격 서버 정보 설정
    host = "your_remote_host"
    username = "your_username"
    password = "your_password"

    # 원격 서버에 연결
    with Connection(host=host, user=username, connect_kwargs={"password": password}) as c:
        run_script(c)

if __name__ == "__main__":
    main()

위 스크립트에서는 Connection 객체를 사용하여 원격 서버에 연결하고, put() 메서드를 사용하여 로컬 스크립트를 원격 서버에 업로드합니다. 그리고 run() 메서드를 사용하여 원격 서버에서 스크립트를 실행합니다.

스크립트 실행하기

Fabric 스크립트를 실행하기 위해서는 다음 명령을 사용할 수 있습니다.

fab -f Fabfile.py main

위 명령을 실행하면 main() 함수가 호출되어 원격 서버에 스크립트가 업로드되고 실행되게 됩니다.

결론

Fabric은 원격 서버에 명령을 전송하거나 스크립트를 실행하는 간편한 도구입니다. Fabric을 사용하여 독립적인 Python 스크립트를 원격 서버에서 실행하면 편리하게 작업을 자동화할 수 있습니다.