[python] Fabric으로 서비스 시작 및 중지하기

이번 포스트에서는 파이썬의 Fabric 라이브러리를 사용하여 서비스를 시작하고 중지하는 방법에 대해 알아보겠습니다.

Fabric이란?

Fabric은 파이썬으로 작성된 SSH(원격 쉘) 클라이언트 라이브러리입니다. Fabric을 사용하면 명령어를 원격 서버에 전송하고 실행할 수 있습니다.

서비스 시작

먼저, 원격 서버에서 서비스를 시작하는 함수를 작성해보겠습니다. 아래의 예시 코드를 참고해주세요.

from fabric import Connection

def start_service():
    # 원격 서버에 연결
    conn = Connection('remote_server_ip')

    # 서비스 시작 명령어 실행
    conn.run('sudo systemctl start service_name')

    # 연결 종료
    conn.close()

remote_server_ip는 서비스를 실행할 원격 서버의 IP 주소로 바꿔주세요. service_name은 시작할 서비스의 이름으로 변경해야 합니다. sudo systemctl start 명령어를 사용하여 원격 서버에서 서비스를 시작할 수 있습니다.

서비스 중지

이번에는 원격 서버에서 서비스를 중지하는 함수를 작성해보겠습니다. 아래의 예시 코드를 참고해주세요.

from fabric import Connection

def stop_service():
    # 원격 서버에 연결
    conn = Connection('remote_server_ip')

    # 서비스 중지 명령어 실행
    conn.run('sudo systemctl stop service_name')

    # 연결 종료
    conn.close()

위 코드에서도 해당 서비스의 IP 주소와 이름을 알맞게 변경해주세요. sudo systemctl stop 명령어를 사용하여 원격 서버에서 서비스를 중지할 수 있습니다.

실행 예시

위에서 작성한 시작 및 중지 함수를 실제로 호출하여 서비스를 시작하고 중지해보면 아래와 같은 결과를 볼 수 있습니다.

start_service()
stop_service()

마무리

Fabric을 사용하면 파이썬으로 원격 서버에 명령을 전송하여 서비스를 간편하게 제어할 수 있습니다. 원격 서버에 접속하여 직접 명령어를 입력할 필요 없이 Fabric을 활용하여 서비스를 시작하고 중지할 수 있습니다.

더 자세한 내용은 Fabric 공식 문서를 참고하시기 바랍니다.