180bpm

WinSCP console을 이용해 AWS EC2에 업로드 하는 스크립트 본문

Develop/Web ETC

WinSCP console을 이용해 AWS EC2에 업로드 하는 스크립트

powdersnow 2015. 11. 13. 14:05

...

이런저런 이유로 서버 코드 자동 갱신 하는 이슈 맡음.


요구사항

1. 한번에 로드밸런서에 붙은 서버 4개에 자동 업로드

2. 예약기능


요구사항에 따라 다음과 같은 방식 연구

1. git의 trigger hook 사용

장점

체크아웃 즉시 배포가 됨


단점

체크아웃 즉시 배포가 됨..;; 예약 기능이 없음.


2. 리눅스 git + cron

장점

예약 처리 가능


단점

리눅스를 몰라서 바로 작업을 들어갈 수 없음.


보완

콘솔 말고 웹에서 cron 걸 수 있게 하고 로그 쌓고 하면 편할듯.


3. 젠킨스

장점

예약, 쉬운 사용


단점

테스트 안해봄


4. winscp

장점

쉬운 사용, 예약 가능 (windows의 예약기능을 이용한)


단점

PC가 꺼지면 끝장..;



우선 winscp로 처리함.



/////////////////////////////////////////////////////////////////////////////

excute.bat


cd /D D:\util\winscp575

WinSCP.com /console /log /script="ServerUpload_script.txt"

/////////////////////////////////////////////////////////////////////////////

ServerUpload_script.txt


#################################################

# WinSCP를 이용한 배포 스크립트

# 2015.11.13 deb

#

# 주의

# 서버에 대상 폴더가 있어야 함

#

#

# synchronize 파라메터 설명

# local 다운로드라고 생각하면 됨

# remote 업로드라고 생각하면 됨. 로컬을 기준으로 리모트에 없으면 생성

# both 양쪽 다 생성

#################################################


option echo on 

option batch off

option confirm on


# winscp에서 추천하는 기본 값

#option batch abort

#option confirm off



#5번서버 

open sftp://계정명:패스워드@서버주소:/var/www/html -privatekey="keyfile\키파일.ppk"

synchronize remote -mirror -permissions=777 "localFolder" "targetFolder"

close


exit

/////////////////////////////////////////////////////////////////////////////


Comments