| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- LLM
- 기록으로 실력을 쌓자
- 오블완
- go
- 바이브코딩
- Rag
- CKA
- CKA 기출문제
- MySQL
- AWS EKS
- Kubernetes
- 정보처리기사 실기 기출문제
- tucker의 go 언어 프로그래밍
- HARNESS
- Java
- Spring
- 공부
- AI
- golang
- minikube
- SRE
- 티스토리챌린지
- aws
- kotlin
- CloudWatch
- kotlin coroutine
- Claude
- PETERICA
- docker
- 코틀린 코루틴의 정석
- Today
- Total
목록Linux (37)
피터의 개발이야기
ㅁ 개요 ㅇ 운영하다보면 데이터를 직접 헨들링할 경우가 있다. ㅇ 반복적인 작업을 대량으로 수행하기 위해 File내용을 기반으로 처리할 수 있도록 하였다. ㅇ redis의 작업을 수행하면서 오류를 최소화하고 작업이력을 남기기 위해 스크립트를 작성하였고, 그 과정을 정리하였다. ㅁ Script#!/bin/shLOG="./redis.log"COMMAND=$1REDIS_KEY=$2FILE=$3TODAY=$(date)# 필수값 체크if [ $# -ne 3 ]then echo "param error [command / key / file]" exit 0;fiecho ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"echo ">> START : $TODAY" >> $LOGecho ">> COMMAN..
ㅁ 개요 ㅇ 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..
shell 변수에 대해서 공부해 보겠습니다. 변수에는 지역변수와 환변변수, 두가지 종류가 있습니다. 이 변수들을 지우거나 지우지 못하게 막을 수도 있고, 변수들의 목록을 확인하는 방법도 알아보겠습니다. 지역(local)변수 지역 변수를 생성한 shell에서만 호출할 수 있습니다. 즉, shell이 실행 당시에 필요한 값만을 선언하여 사용하기에 다른 shell에서 참조를 할 수 없습니다. 사용법 #local변수설정 localValue="로컬에서 참조됩니다." #참조방법 echo $localValue 환경(public)변수 자신을 선언한 부모 쉘과 이 쉘이 만든 자식 쉡에서도 참조가 가능합니다. 사용법 #public변수설정 export publicValue="로컬에서 참조됩니다." #참조방법 echo $pu..
if 문은 참과 거짓의 경우에만 사용할 수 있으며, 다중 if 문을 사용하여 여러 개의 조건을 주는 경우에는 프로그램이 복잡해진다. 여러 개의 조건인 경우 case문을 사용하는 것이 간결하고 편리하다. case 문의 기본 문법 case 파라미터 in 조건1) 명령어1;; 조건2) 명령어2;; *) 조건1과 조건2가 아닌 경우 esac 조건 예제 #!/bin/bash echo "값을 입력하세요." read param case $param in # 패턴 ??02??) echo "2월이군요";; # or 조건 Yes | yes | Y | y) echo "Yes!!";; [nN]*) echo "n 또는 N으로 시작, 정규식";; b?) echo "b로 시작하는 2글자";; c*) echo "c로 시작하는 모든 ..
if문 기본 문법 if [ 조건 ] then 조건이 참일 경우 실행 elif [ 조건 ] then 조건이 참일 경우 실행 else 조건이 거짓일 경우 실행 fi 비교연산자 #!/bin/bash echo "비교연산자: 같으면" if [ "조건"="조건" ] then echo "참" else echo "거짓" fi echo "비교연산자: 다르면" if [ "조건"!="조건" ] then echo "참" else echo "거짓" fi echo "비교연산자: 널이 아니면" if [ -n "" ] then echo "참" else echo "거짓" fi echo "비교연산자: 널이면" if [ -z "" ] then echo "참" else echo "거짓" fi 조건들은 문자열이어야 한다. 산술연산자 #!/b..