[python] Fabric으로 서버 관리 팁 및 노하우 공유하기

Fabric

Fabric은 파이썬 기반의 서버 관리 도구로, 클라이언트 코드를 작성하여 원격 서버에 명령을 실행하는 간단하고 효율적인 방법을 제공합니다. 이 글에서는 Fabric을 사용하여 서버 관리를 더욱 효율적으로 수행하는 몇 가지 팁과 노하우를 공유하려고 합니다.

목차

Fabric 설치 및 설정

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

pip install fabric

Fabric을 설치한 후, 다음과 같이 연결할 서버의 정보를 fabfile.py 파일에 설정해야 합니다.

from fabric import Connection

host = 'your_server_ip'
username = 'your_username'
password = 'your_password'

connection = Connection(host, user=username, connect_kwargs={'password': password})

실행 중인 서버 목록 확인하기

Fabric을 사용하여 연결할 서버의 정보를 설정한 후, 아래 명령을 사용하여 현재 실행 중인 서버의 목록을 확인할 수 있습니다.

fab -l

원격 서버에 명령 실행하기

Fabric을 사용하여 원격 서버에 명령을 실행하는 것은 매우 간단합니다. 아래는 원격 서버에서 ls 명령을 실행하는 예시입니다.

result = connection.run('ls')
print(result.stdout)

여러 서버에 동시에 명령 실행하기

Fabric은 여러 서버에 동시에 명령을 실행하는 것도 지원합니다. 다음은 여러 서버에서 ls 명령을 실행하는 예시입니다.

from fabric import SerialGroup

hosts = ['server1_ip', 'server2_ip', 'server3_ip']
group = SerialGroup(*hosts)

result = group.run('ls')
for host, response in result.items():
    print(f"=== {host} ===")
    print(response.stdout)
    print()

작업 디렉토리 설정하기

Fabric을 사용하여 작업 디렉토리를 변경하는 것도 가능합니다. 아래는 작업 디렉토리를 /home/user/workspace로 변경하는 예시입니다.

connection.cd('/home/user/workspace')
result = connection.run('ls')
print(result.stdout)

환경변수 설정하기

Fabric은 환경변수를 설정하여 원격 서버에서 사용할 수도 있습니다. 아래는 PATH 환경변수에 /usr/local/bin을 추가하는 예시입니다.

connection.config['run']['env']['PATH'] += ':/usr/local/bin'
result = connection.run('echo $PATH')
print(result.stdout)

위의 팁과 노하우를 활용하여 서버 관리를 더욱 효율적으로 수행할 수 있습니다. Fabric은 다양한 기능을 제공하기 때문에 더욱 자세한 내용은 공식 문서를 참고하시기 바랍니다.

이상으로 Fabric을 사용하여 서버 관리에 유용한 팁과 노하우를 공유하였습니다. 감사합니다!