1. 로컬 디렉터리 파일을 AWS S3 로 업로드

~$ aws s3 cp {pwd}/ s3://{bucket_name}/{direcoty}/



2. 로컬 현재경로 모든 파일을 AWS S3 로 업로드

~$ aws s3 cp ./ s3://{bucket_name}/{directory}/ --recursive

'AWS' 카테고리의 다른 글

aws cli cp local to s3  (0) 2018.05.29

Socket 통신으로 GPS 수신 서비스를 만들어야 했다.


Eclipse 에서 Runnable jar 로 export 해서 cmd 에서 실행하게 되면, cmd 창이 그대로 남겨져 있게 되어, (bat 파일도..)


실수로 꺼버릴 수 있으니, Windows Service 에 등록해서 창으로 노출되지 않도록 하고자 했다.


여러가지 방법을 써보고 실수도 여러번 반복.. 삽질에 삽질..


알맞은 방법인지는 비교하지 않아 모르겠으나, 일단 별 탈 없이 아직도 서비스가 정상 동작 중이니.. 


성공한 방식을 posting 하고자 한다.


사용 툴은 3가지.

1. Eclipse : 코딩은 해야지.

2. Lauch4j(http://launch4j.sourceforge.net/) : jar 파일을 exe 파일로 변환해 준다.

3. nssm(https://nssm.cc/) : exe 파일을 가지고 서비스를 만들어 등록해 준다.


* Eclipse 로 Java 프로젝트를 만들었다. main 메소드가 있는 class 는 Socket 이다.

  수신한 데이터를 DB에 쌓아야 해서 ojdbc jar 를 build path 에 추가 했다.


* Export 하기 전, 반드시 추가해야하는 부분 (이것도 모르고 있다니....)

  META-INF 폴더를 만들고 그 밑에 class path 와 main class 정보를 넣어줘야하는 것!!!!!!

  그리고 반드시, 마지막에 캐리지리턴을 넣어줘야한다!!

Manifest-Version: 0.1

Class-Path: libs/ojdbc6-11.2.0.3.jar

Main-Class: com.kolon.gpsmonitorserver.Socket



* Export 하면서 Runnable jar 선택.



* 이제 생성된 jar 파일을 Launch4j 를 이용해서 exe 파일을 생성한다.

  sourceforge 에 들어가서 설치파일을 다운로드 한다.(https://sourceforge.net/projects/launch4j/files/launch4j-3/3.9/)

  다운로드 받은 파일을 실행해서 설치 후에 프로그램을 실행한다.


* Basic 탭 > Output file : 생성할 exe 파일의 위치를 선택한다.

  Basic 탭 > jar : 앞서 만들었던 jar 파일을 선택한다.

  Basic 탭 > Command line args (Optional) : 실행시에 던저줄 매개변수를 넣는다 (사진은 port 번호)


* Classpath 탭 > Custom classpath 체크!

  Classpath 탭 > Main class: jar 파일을 선택하면 자동으로 찾아서 넣어진다.

                                     ojdbc.jar 가 나타나지 않아도 상관없다. 이미 Manifest.mf 에 적어줬으니.


* Header 탭 > Header type 을 Console 로 선택한다. (내가 만든 소켓 프로그램은  GUI  가 없다.)


* JRE 탭 > Min JRE version: 이것을 넣어 주어야 exe 파일이 만들어진다.


* 다른 탭에도 여러 정보를 넣는 것이 있지만, 최소한만 넣었다.

  이후에 상단에 톱니바퀴 모양의 아이콘을 클릭하면 exe 파일이 생성된다.



* 이제 이 exe 파일을 서비스에 등록을 한다. 

  nssm 이라는 프로그램을 사용한다.


* nssm 홈페이지에 들어가서 Latest release  를 다운로드 받는다.(https://nssm.cc/download)

  사용법은 홈페이지에 자세히 나와있다. (https://nssm.cc/usage)


* 다운로드 받은 exe 파일을 command 창에서 실행한다. (nssm.exe install [서비스명])

C:\Users\user\Downloads\nssm-2.24\nssm-2.24\win64>nssm.exe install GPSMonitor


* 그럼 GUI 창이 하나 뜬다.



* 이 후 탭에서 이것저것 세팅을 해준다. usage 에 아주 잘 나와있어서 pass!!


* 모든 정보를 넣어 주고 나서 Install service 를 누르면 아래와 같은 메시지가 command  창에 나온다.

C:\Users\user\Downloads\nssm-2.24\nssm-2.24\win64>nssm.exe install GPSMonitor

Service "GPSMonitor" installed successfully! 


*services.msc 를 실행하여 확인하면 GPSMonitor 라는 이름의 서비스가 생성된 것을 확인 할 수 있다.


* 생성된 서비스를 실행하면, Command 창 없이 서비스가 정상 동작한다.


끝~~~~~~~~


=NOT(ISERROR(MATCH(A2,$B$2:$B$5, 0)))

enter image description here

<project>

<repositories>

<repository>

<id>gcm-server-repository</id>

<url>https://raw.github.com/slorber/gcm-server-repository/master/releases/</url>

</repository>

</repositories>

<dependencies>

<dependency>

<groupId>com.google.android.gcm</groupId>

<artifactId>gcm-server</artifactId>

<version>1.0.2</version>

</dependency>

</dependencies>

</project>

'MobilePlatform > Android' 카테고리의 다른 글

gcm server maven repository  (0) 2014.11.13
Decompile apk  (0) 2013.04.23
MimeTypeMap 사용  (0) 2013.03.18
[링크] 아이스크림샌드위치 문제 & 버전별 공개 일자  (0) 2012.04.03
Android. Logcat 필터링.  (0) 2011.06.10
Android. 외부 저장장소에 Application 설치.  (0) 2011.06.01


* stopPropagation 은 부모태그로의 이벤트 전파를 stop 중지하라는 의미입니다.

ul > li > a 의 dom 구조에서 a 의 onclick 이벤트에서 부모(li, ul)로의 이벤트 전파를 중지하라는 의미.


* preventDefault 는 a 태그 처럼 클릭 이벤트 외에 별도의 브라우저 행동을 막기 위해 사용됩니다.

a 태그의 앵커속성(href=#) 에 의한 브라우저 행동(리프레시 or GOTO) 을 막기 위해 사용.

a 태그에 href 와 onclick 두 속성이 모두 있을 때는 onclick 이 먼저 실행된 후 href 가 실행된다.

+ Recent posts