[파이썬] 리눅스 서버 설정 관리 스크립트 작성

리눅스 서버를 운영하면서 서버의 설정을 관리하는 것은 중요한 업무입니다. 매번 수동으로 설정을 변경하고 관리하는 것은 번거로운 일이며, 시간과 노력을 소모할 수 있습니다. 이를 자동화하기 위해 파이썬으로 설정 관리 스크립트를 작성하는 방법을 알아보겠습니다.

1. 필요한 패키지 설치

먼저, 파이썬에서 서버 설정을 변경할 수 있는 패키지를 설치해야 합니다. 예를 들어, paramiko 패키지를 사용하면 SSH를 통해 리눅스 서버에 접속해서 설정을 변경할 수 있습니다.

pip install paramiko

2. SSH 연결 설정

파이썬 스크립트에서 SSH를 통해 리눅스 서버에 접속하기 위해 연결 설정이 필요합니다. 아래의 코드를 사용하여 SSH 클라이언트를 생성하고, 서버에 연결할 수 있습니다.

import paramiko

# SSH 연결 설정
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='서버주소', username='사용자이름', password='비밀번호')

3. 서버 설정 변경

이제 서버 설정을 변경하는 코드를 작성해보겠습니다. 예를 들어, 파일을 생성하거나 수정하는 작업을 수행하는 스크립트를 작성해보겠습니다.

import paramiko

# SSH 연결 설정
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='서버주소', username='사용자이름', password='비밀번호')

# 파일 생성 및 수정
remote_file_path = '/path/to/remote/file'
local_file_path = '/path/to/local/file'

sftp = ssh.open_sftp()
sftp.put(local_file_path, remote_file_path)
sftp.close()

ssh.close()

위의 코드에서 remote_file_path는 작업할 원격 파일의 경로를, local_file_path는 로컬에 있는 파일의 경로를 나타냅니다. 이를 적절히 변경하여 원하는 작업을 수행할 수 있습니다.

4. 스크립트 실행

스크립트를 실행하기 위해서는 아래의 커맨드를 사용합니다.

python script.py

위의 명령어를 실행하면 파이썬 스크립트가 실행되고, 서버의 설정 변경 작업을 자동으로 수행합니다.

5. 스케줄링

매번 스크립트를 수동으로 실행하는 것은 번거로운 일일 수 있습니다. 따라서, 작성한 스크립트를 일정 주기로 자동 실행되도록 스케줄링할 수 있습니다.

리눅스 시스템의 cron 서비스를 사용하여 스크립트를 자동 실행하도록 예약할 수 있습니다. crontab -e 명령어를 사용하여 매일, 매주, 매월 등 원하는 주기로 스크립트를 실행하는 시간을 지정할 수 있습니다.

예시: 매일 오전 9시에 스크립트를 실행하고 싶은 경우

0 9 * * * python /path/to/script.py

위의 예시에서는 python /path/to/script.py 명령어를 매일 오전 9시 (시간을 24시간 형식으로 지정) 에 실행하도록 설정한 것입니다.

정기적으로 스크립트가 실행되므로 서버 설정을 자동으로 관리할 수 있게 됩니다.