Open Source

[ OSS - WinSCP ] 원격지 파일 동기화 1부 - 기본구성

Pydole 2019. 6. 2. 17:21

 

WinSCP는 Windows용 SFTP 및 FTP 클라이언트 프로그램이고 오픈소스 프리웨어이다.

 

WinSCP는 명령어 스크립트를 제공하며, 이를 이용하여 원격지에 있는 디렉토리와 파일을 로컬로 동기화를 해보려고 한다.

 

 

- WinSCP 다운로드 : https://winscp.net/eng/download.php

- 동기화 매뉴얼 : https://winscp.net/eng/docs/scriptcommand_synchronize

 

 

프로그램 설치는 다운로드 받아서 설치하면 된다.

 


 

1. WinSCP가 설치되어 있는 폴더로 이동

    - 디폴트로 설치되었다면 일반적으로 C:\Program Files (x86)\WinSCP에 설치

 

2. 스크립트 명령어 실행

    - 명령어 : WinSCP.com /ini=nul /script=example.txt

 

< example.txt > 

open ftp://winscp:password@192.168.1.88
synchronize local C:\WinscpSync 
close 
exit

  * 원격지에서 로컬로 동기화를 할 것이니 local 옵션을 준다.

 

 

synchronize 문법설명

     local : 원격 디렉토리의 변경 사항이 로컬 디렉토리에 적용

     remote : 로컬 디렉토리의 변경 사항이 원격 디렉토리에 적용

     both : 로컬 및 원격 디렉토리를 모두 수정

 

      < example.txt 파일내용 >

      open ftp://id@password@IP

      synchronize local|remote|both [ <local directory> [ <remote directory> ] ]

      close

      exit

 

 

3. 명령어 실행

    - WinSCP.com /ini=nul /script=example.txt

 

원본서버

 

 

위와 같이 원본서버에서 로컬디렉토리로 동기화가 이루어 졌음을 알 수 있다.

 

그러면 동일하게 다시 한번 실행해 보면, 변경사항이 없기 때문에 체크만 하고 넘어간다.

 

마지막으로 2개의 파일과 폴더만 신규로 생성하고 다시 실행해보겠다.

변경된 부분만 반영됨을 볼 수 있다.

 


기타 옵션 설명

 

 

1. preview : 변경되는 사항만 보여주고, 반영하지는 않는다.

   . -permissions,-nopermissions, -speed, -transfer, -resumesupport 영향없음

 

synchronize -preview local C:\WinscpSync 

 

차이점만 출력하고, 실제 반영되지 않는다.

    

 

2. delete : 원본에 파일이 없으면 타켓에서도 삭제. Both 모드는 무시

 

synchronize -delete local C:\WinscpSync 

 

실제원본에서 example3.txt가 삭제되어 타켓에도 삭제되었다.

 

 


[ WinSCP 로깅 ]

https://pydole.tistory.com/entry/WinSCP-winscp%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9B%90%EA%B2%A9%EC%A7%80-%ED%8C%8C%EC%9D%BC-%EB%8F%99%EA%B8%B0%ED%99%94-2%EB%B6%80

 

WinSCP를 이용한 원격지 파일 동기화 2부 - 로깅

기존 스크립트 명령어에 로깅기능을 추가한다. -1 옵션으로 로깅을 최소화 한다. 명령어 : WinSCP.com /ini=nul /script=example.txt /log="C:\SinscpSyncLog\SyncLog.log" /loglevel=-1 실제 실행하면 수행된 결..

pydole.tistory.com