vdi 환경에서 로그 파일을 로컬로 내려받아 분석하는 등 하려고 예전에 node.js 로 내부 공유컴에 업/다운할 수 있도록 간단히 코딩해서 공유한 적 있었죠. 짜놓고 가끔씩 쓰긴 했는데 너무 조잡해서 갈아치울 방법 종종 고민했었는데 오늘 minio 설치한 김에 이걸로 한 번 시도해봤습니다.
- https://min.io/download#/windows 에서 minio client 다운로드 후 vdi 에 mc.exe 파일 복사.
- mc config host add alias_name http://minio_ip:port accesskey secretkey <= ip/port 랑 accesskey/secretkey 는 좀 아까 적어놨습니다. (이건 host 등록하는거라 처음 한 번만 하면 됩니다)
- 가령 alias_name 을 myminio 라고 했고 a.log 란 파일 업로드하려면 : mc cp a.log myminio/misc/a.log
- 로컬에 내려 받으려면 : mc cp myminio/misc/a.log a.log이렇게 깔끔하게 됩니다. 아 물론 아까 알려드린 주소로 웹 접속해서 브라우저에서 업/다운도 가능하고 javascript, python, go, java https://docs.min.io/docs/java-client-quickstart-guide.html 등의 SDK 제공되니 그걸로 간단히 구현도 가능합니다.
아래는 파일 업로드하는거 python 으로 간단히 테스트해 본 코드입니다. 너무 쉽게 되니 허무하네요.
실행하려면 pip install minio 로 Minio 패키지 내려 받아 사용하면 됩니다.
from minio import Minio
from minio.error import ResponseError
# SSL 적용 안해놨으므로 secure=False 해주어야 합니다.
client = Minio('ip:port',
access_key='akey값',
secret_key='skey값',
secure=False)
# fput_object(bucket_name, object_name, file_path ...)
# misc 는 제가 이미 만들어 놓은 bucket 명이고
# 새로 버킷 만들어서 거기에 업로드하려면 make_bucket 함수 이용하면 됩니다.
try:
client.fput_object('misc', 't1up.log', 'D:/denv/t1.log')
except ResponseError as err:
print(err)
'Slack 채널 정리' 카테고리의 다른 글
InfluxDB 에 POJO 이용해서 insert 하는 코드 예(Mapstruct 사용) (2) | 2019.11.29 |
---|---|
influxDB에 bulk import (0) | 2019.11.29 |
[mariadb]st_distance_sphere 만들어 사용하기 (0) | 2019.11.29 |
mariadb 에서 Point 타입으로 위,경도 값 넣어 이동 거리 계산 (0) | 2019.11.29 |
[JPA]Point 타입 DB 저장 처리 (0) | 2019.11.29 |