[python] Fabric으로 원격 서버 불필요한 서비스 제거하기

소개

Fabric은 Python에서 SSH를 통해 원격 서버를 관리하는 라이브러리로, 원격 서버에 명령어를 실행하거나 파일을 전송하는 등 다양한 작업을 자동화할 수 있습니다. 이번 포스트에서는 Fabric을 사용하여 원격 서버에서 불필요한 서비스를 제거하는 방법을 소개하겠습니다.

필요한 패키지 설치

$ pip install fabric

Fabric 스크립트 작성

Fabric 스크립트는 파이썬 파일로 작성되며 원격 서버에서 실행됩니다. 먼저 필요한 모듈을 임포트하고, 접속할 원격 서버의 호스트, 사용자 이름, 비밀번호를 설정합니다. 이 예제에서는 호스트와 사용자 이름, 비밀번호를 직접 입력하도록 하겠습니다.

from fabric import Connection

host = '원격 서버 IP'
user = '사용자 이름'
password = '비밀번호'

conn = Connection(host=host, user=user, connect_kwargs={"password": password})

다음으로 제거할 서비스의 이름을 설정하고, sudo 권한으로 실행하기 위해 로그인한 사용자의 패스워드를 입력하도록 설정합니다.

service_name = '제거할 서비스 이름'
sudo_password = conn.local.prompt('비밀번호: ', hide_input=True)

마지막으로 sudo 명령어를 사용하여 서비스를 제거합니다.

conn.sudo(f'systemctl stop {service_name}', password=sudo_password, pty=True)
conn.sudo(f'systemctl disable {service_name}', password=sudo_password, pty=True)
conn.sudo(f'rm -rf /lib/systemd/system/{service_name}', password=sudo_password, pty=True)

Fabric으로 원격 서버에서 스크립트 실행하기

Fabric을 사용하여 스크립트를 원격 서버에서 실행하려면 다음 명령어를 사용합니다.

$ fab 실행할_스크립트.py

이제 원격 서버에서 설정한 서비스가 제거됩니다.

결론

Fabric을 사용하면 Python으로 원격 서버를 관리하는 작업을 자동화할 수 있습니다. 이번 포스트에서는 Fabric을 사용하여 불필요한 서비스를 제거하는 방법을 알아보았습니다. Fabric을 사용하면 원격 서버 관리 작업을 좀 더 효율적으로 처리할 수 있습니다.

참고 자료