[python] Fabric으로 서버 재부팅하기

서버 관리 작업을 자동화하는 목적으로 Fabric이라는 파이썬 라이브러리를 사용할 수 있습니다. 이 글에서는 Fabric을 사용하여 서버를 재부팅하는 방법에 대해 소개하겠습니다.

Fabric 소개

Fabric은 파이썬으로 작성된 SSH 클라이언트 라이브러리입니다. 원격 서버에 SSH를 통해 접속하여 명령어를 실행하고 결과를 가져올 수 있습니다. 서버 관리 작업을 자동화하기 위해 Fabric을 사용하면 명령어를 일일이 입력하는 수고를 덜 수 있습니다.

Fabric 설치

Fabric을 사용하기 위해서는 먼저 Fabric 패키지를 설치해야 합니다. 아래의 명령어를 사용하여 Fabric을 설치해보세요.

pip install fabric

Fabric을 사용하여 서버 재부팅하기

Fabric을 사용하여 서버를 재부팅하기 위해서는 다음과 같은 코드를 작성할 수 있습니다.

from fabric import Connection

# 서버 접속 정보
host = 'your-server.com'
username = 'your-username'
password = 'your-password'

# 서버 재부팅 함수
def reboot_server():
    with Connection(host=host, user=username, connect_kwargs={"password": password}) as conn:
        conn.run('sudo reboot')

# 함수 실행
reboot_server()

위 코드에서는 fabric 패키지에서 Connection 클래스를 import 하고, 서버 접속 정보를 설정합니다. reboot_server 함수는 해당 서버에 SSH 연결을 설정하고, sudo reboot 명령어를 실행하여 서버를 재부팅합니다.

서버 재부팅을 위해 실제로 사용하는 정보인 host, username, password는 사용자마다 다를 수 있으므로, 각자의 환경에 맞게 수정해야 합니다.

실행결과 확인하기

코드를 실행하면 서버가 재부팅되는데 몇 초 정도의 시간이 소요됩니다. 재부팅 완료 후에는 새로운 SSH 세션이 필요할 수 있으므로, 재부팅이 완료되면 다시 서버에 SSH로 접속하여 확인해보세요.

참고 자료