[python] Fabric으로 명령 실행 결과 저장하기

Fabric은 파이썬으로 작성된 배포 도구로, SSH를 통해 원격 서버에서 명령을 실행하고 파일을 전송하는 등의 작업을 손쉽게 처리할 수 있습니다. 이번 포스트에서는 Fabric을 사용하여 명령을 실행한 결과를 로컬에 저장하는 방법에 대해 알아보겠습니다.

1. Fabric 설치하기

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

$ pip install fabric

2. 파일 생성하기

Fabric에서 명령 실행 결과를 저장할 파일을 생성합니다. 예를 들어, result.txt 파일을 생성하겠습니다.

$ touch result.txt

3. fabfile.py 작성하기

Fabric을 사용하기 위해 fabfile.py라는 파일을 작성합니다. 이 파일은 Fabric의 명령을 정의하는 곳입니다.

from fabric import Connection

def save_command_result(c):
    result = c.run('ls -l')
    with open('result.txt', 'w') as f:
        f.write(result.stdout)

위의 코드에서는 save_command_result라는 함수를 정의하고, 해당 함수 내에서 원하는 명령어(예: ls -l)를 실행한 뒤 결과를 result.txt 파일에 저장하고 있습니다.

4. 명령 실행하기

다음으로, Fabric을 사용하여 원격 서버에서 명령을 실행하고 결과를 저장합니다. 다음 명령을 사용하여 save_command_result 함수를 실행해보겠습니다.

$ fab -H remote_server_address save_command_result

위의 명령에서 remote_server_address는 명령을 실행하고자 하는 원격 서버의 주소를 입력합니다.

5. 결과 확인하기

명령이 실행되고 난 뒤, result.txt 파일을 열어 결과를 확인할 수 있습니다.

$ cat result.txt

Fabric을 사용하여 명령 실행 결과를 저장하는 방법에 대해 알아보았습니다. 이를 활용하면 원격 서버에서 실행한 명령의 결과를 간편하게 로컬에 저장할 수 있습니다.