반응형
대부분 윈도우PC를 사용하실것 같은데, 업무에 따라 리눅스 장비를 이용하는 경우가 있습니다.
매번 리눅스에 접속해서 명령을 내리고는 했는데, 파이썬을 이용하면 윈도우에서 명령을 내릴수 있습니다.
간단한 업무라면 리눅스 장비에 접속해서 진행하는게 훨씬 편하기만,
자동화 관점으로 접근하려면 paramiko를 이용해서 윈도우 파이썬을 이용하는 방법도 좋습니다.
아래 간단한 예시를 들었으니, 참고해서 진행 해보시기 바래요.
아직 저도 조금 더 공부를 해야하는데, 명령이 연속적으로 수행되지 않는 경우가 있습니다.
함께 공부해서 문제점을 해결해 보시지요....
import paramiko
# 리눅스 서버 접속 정보
hostname = 'your_linux_server_ip' # 리눅스 서버의 IP 주소
port = 22 # 기본 SSH 포트 (22)
username = 'your_username' # 리눅스 서버의 사용자명
password = 'your_password' # 리눅스 서버의 비밀번호
# SSH 클라이언트 설정
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 호스트 키가 없으면 자동으로 추가
try:
# 서버 접속
ssh.connect(hostname, port=port, username=username, password=password)
# A 폴더로 이동
stdin, stdout, stderr = ssh.exec_command('cd /path/to/A') # A 폴더 경로로 이동
stdout.channel.recv_exit_status() # 명령 실행 대기
# B 명령 실행
stdin, stdout, stderr = ssh.exec_command('B') # B 명령을 실행
output = stdout.read().decode('utf-8') # 명령 출력 결과를 읽음
print(f"B 명령 출력:\n{output}") # 출력 내용 확인
# "FLOWER" 문자열이 출력 결과에 있으면 C 명령 실행
if "FLOWER" in output:
print("FLOWER 발견, C 명령 실행")
stdin, stdout, stderr = ssh.exec_command('C') # C 명령 실행
output_c = stdout.read().decode('utf-8')
print(f"C 명령 출력:\n{output_c}") # C 명령 출력 확인
else:
print("FLOWER 미발견")
finally:
# SSH 접속 종료
ssh.close()
반응형
'페싱코드 파이썬 코드' 카테고리의 다른 글
파이썬으로 오래된 파일과 폴더를 찾고 지우는 방법 (0) | 2025.03.08 |
---|---|
파이썬코드 py 파일을 윈도우에서 주기적으로 실행하기 (0) | 2025.02.24 |
파이썬으로 오래된 파일 삭제하여 용량 관리하기 (0) | 2025.02.22 |
파이썬으로 SEM설비 접속해서 이미지 다운로드 하기 (0) | 2025.02.22 |