일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 공부
- 정보처리기사 실기
- AWS EKS
- kotlin
- AI
- kotlin spring
- Kubernetes
- 오블완
- CloudWatch
- CKA
- CKA 기출문제
- Elasticsearch
- aws
- Java
- 정보처리기사 실기 기출문제
- 티스토리챌린지
- 기록으로 실력을 쌓자
- Pinpoint
- APM
- Linux
- minikube
- kotlin coroutine
- 정보처리기사실기 기출문제
- PETERICA
- kotlin querydsl
- 코틀린 코루틴의 정석
- IntelliJ
- Spring
- MySQL
- mysql 튜닝
- Today
- Total
목록Linux (30)
피터의 개발이야기
ㅁ 들어가며 ㅇ linux에서 JSON을 가공하여 원하는 결과를 도출할 수 있는 JPATH 사용법을 정리하였다. ㅇ javascript와 똑같은 사용방식이라 직관적이었다. ㅁ Object 참조 # sample.json { "car": { "color": "blue", "price": "$20,000" }, "bus": { "color": "white", "price": "$120,000" } } # JSON 트리 참조 구조 1단 $ cat sample.json | jpath $.car [ { "color": "blue", "price": "$20,000" } ] # JSON 트리 참조 구조 2단 cat sample.json | jpath $.car.price [ "$20,000" ] ㅇ 점을 기준으로 종..
ㅁ 들어가며 용량이 큰 디렉토리 목록을 확인하려면 du, sort 명령어를 조합하여 사용하면 용량별 디렉토리를 쉽게 파악할 수 있다. ㅁ 디렉토리 용량별 정렬 # 디렉토리 용량 Sort, 내림차순, 큰->작 $ du -h -d 1 | sort -nr 178M. 173M./ParallelsLab 2.8M./docker-2048 1.4M./peter-2048 # 디렉토리 용량 Sort $ du -h -d 1 | sort -n, 오름차순, 작->큰 1.4M./peter-2048 2.8M./docker-2048 173M./ParallelsLab 178M. ㅁ 파일 용량별 정렬 # file 용량 Sort, 오름차순 $ du -h | sort -n 0B./ParallelsLab/.git/modules/submodu..
ㅁ 개요 ㅇ 자주 사용하는 tar 명령어를 정리하였다. ㅇ tar, tar.gz로 압축 및 해제에 대한 방법을 설명한다. ㅁ tar로 압축하기 $ tar -cvf [파일명.tar] [폴더명] ㅇ temp 폴더를 temp.tar로 압축하였다. ㅁ tar 압축 풀기 tar -xvf [파일명.tar] ㅇ temp.tar라는 tar파일을 풀었다. ㅁ tar.gz로 압축하기 tar -zcvf [파일명.tar.gz] [폴더명] ㅇ temp라는 폴더를 temp.tar.gz로 압축하였다. ㅁ tar.gz 압축 풀기 tar -zxvf [파일명.tar.gz] ㅇ temp.tar.gz라는 tar.gz파일 압축파일을 풀었다. ㅁ 용량비교 ㅇ tar.gz이 압축률이 더 높은 것을 알 수 있다. ㅁ 옵션 정리 옵션 사용법 -c ..
ㅁ 개요 ㅇ 운영하다보면 데이터를 직접 헨들링할 경우가 있다. ㅇ 반복적인 작업을 대량으로 수행하기 위해 File내용을 기반으로 처리할 수 있도록 하였다. ㅇ redis의 작업을 수행하면서 오류를 최소화하고 작업이력을 남기기 위해 스크립트를 작성하였고, 그 과정을 정리하였다. ㅁ Script #!/bin/sh LOG="./redis.log" COMMAND=$1 REDIS_KEY=$2 FILE=$3 TODAY=$(date) # 필수값 체크 if [ $# -ne 3 ] then echo "param error [command / key / file]" exit 0; fi echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" echo ">> START : $TODAY" >> $LOG ec..
ㅁ 개요 ㅇ linux 서버에서 JSON 데이터를 볼 때가 많이 있다. 직렬화된 json을 보기는 쉽지 않다. ㅇ 이를 해결하기 위한 방법으로 jq명령어를 사용하면 JSON을 이쁘게 볼 수 있다. ㅁ 설치 ㅇ 맥의 경우 brew install jq ㅁ 사용법 ㅇ JSON string 파이프라인으로 재처리 하면 이쁜 JSON을 볼 수 있다.$ echo '{"foo": "bar"}' | jq ✔ 5238 23:20:52{ "foo": "bar"}$ echo '{"foo": "bar"}' | jq '.foo' ..
ㅁ 개요 ㅇ AWS의 인스턴스를 생성하면 Date가 항상 UST가 기본으로 되어 있다. ㅇ Timezone을 한국 표준(KST)로 변경하는 과정을 정리하였다. # Localtime 심볼릭 링크를 재설정한다. $ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime # 적용 확인 $ Date 2022. 08. 24. (수) 21:16:52 KST
ㅁ 개요 ㅇ 기준 폴더의 개별 폴더들의 로그를 정리하는 쉘스크립트이다. ㅇ 3일 지난 파일을 압축 ㅇ 180일 지난 압축파일 삭제 #!/bin/sh # 기준 폴더 LOG_PATH=/logs # 기준 폴더 안의 개별 폴더 목록 SVC_TYPE_ARRAY=("acs" "abccard") # 로그정리 정리 로그(최근 로그만 남김) LOG_FILE=${LOG_PATH}/log_clean.out DAY=$(date +%Y-%m-%d --date '3 days ago') date > $LOG_FILE for svcType in "${SVC_TYPE_ARRAY[@]}" do # log zip tar -czvf $LOG_PATH/$svcType/$svcType.$DAY.tar.gz $LOG_PATH/$svcType/*..
centos7을 주로 사용하고 있습니다. centos 버젼확인하는 방법을 정리하였습니다. cat /etc/centos-release cat /etc/system-release rpm --query centos-release 자세한 것은 centos/howTos 에서 확인합니다.
shell 배열을 loop 돌리는 방법은 늘 잘 까먹게 됩니다. 그래서 짧게 나마 정리 합니다. #!/bin/bash for f in $(aws s3 ls s3://bucket-name/ | sort | awk '$1 > "2021-01-20" && $4 > "" {print $4}'); do aws s3 cp s3://bucket-name/"$f" ./ done;
ㅁ 들어가며ㅇ nginx를 이용한 BlueGreen 배포 방식이다.ㅇ 두개의 port를 이용해 spring을 기동시키고, nginx를 통해 port를 switch하기 때문에 중단시간이 1초 미만이다.ㅇ 새로운 Spring 프로세스의 health check를 위해 status 200을 return하는 /health/check API가 필요하다. ㅁ Shell script#!/bin/bash# 프로세스명readonly PROC_NAME="appName"# jar 파일readonly DAEMON="/home/peterica/server/appName*.jar"# srping.pid.filereadonly PROC_PID="/home/peterica/server/server.pid"# spring.active..