bash(12)
-
k8s(eks) deployment 상태 확인 스크립트
개요k8s(eks) deployment 상태 확인 스크립트- 세부기능k8s(eks) context list, switchnamespace listawslogs group list결과를 파일로 저장 스크립트#!/usr/bin/env bash# 사용법 함수usage() { echo "에러: 입력값이 잘못 됐습니다." echo "사용법: $0 [로그스트림이름]" echo "로그스트림이름은 선택사항입니다." exit 1}# 로그 그룹 선택 함수select_log_group() { echo "사용 가능한 로그 그룹 목록:" groups=($(awslogs groups)) if [ ${#groups[@]} -eq 0 ]; then echo "사용 가능한 로그..
2024.11.19 -
awslogs를 이용해서 cloudwatch logs를 시간대 별로 쿼리하는 방법
개요awslogs를 이용해서 cloudwatch logs를 시간대 별로 쿼리하는 방법# 실행 권한 부여 chmod +x log_viewer.sh # bash에서 실행 bash log_viewer.sh "/aws/rds/cluster/my-cluster/slowquery" "2024-03-20 14:30" # zsh에서 실행 zsh log_viewer.sh "/aws/rds/cluster/my-cluster/slowquery" "2024-03-20 14:30" 스크립트#!/usr/bin/env bash# 사용법 함수usage() { echo "에러: 입력값이 잘못 됐습니다." echo "사용법: $0 [로그스트림이름]" echo "로그스트림이름은 선택사항입니다." exit 1}# 로그..
2024.11.14 -
AWS CLI cheat sheet
- 개요 AWS CLI를 통해 리소스를 관리하고 리스트화 할 수 있는 스크립트를 정리했다. 대표적인 리소스를 테이블 또는 리스트로 관리할 수 있는 스크립들이다. - AWS CLI https://awscli.amazonaws.com/v2/documentation/api/latest/reference/index.html#cli-aws - EC2 ## runnung ec2 with Name, PrivateIP, PublicIP, Status, Instance Type, VpcId on table aws ec2 describe-instances --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,PrivateIP:PrivateIpAddress,Nam..
2023.10.10 -
bash에서 파일 안에 column 값을 다 더하기
- 옵션1 paste -sd+ | bc - 옵션2 cat | paste -sd+ | bc
2023.08.30 -
bash history 제한 없애기 (ChatGPT)
- 개요 (기본적으로 제한되어 있음) cat /root/.bashrc | grep -E 'HISTSIZE|HISTFILESIZE' # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=1000 HISTFILESIZE=2000 - 제한 없애기 .bashrc에서 아래와 같이 변경 HISTSIZE= HISTFILESIZE= - ChatGPT (O)
2023.01.31 -
파일에서 aws access key와 secret key 추출
- 개요 credentials 파일이나 특정 파일에서 aws access key 또는 aws secret key 추출 하는 방법 - 방법 (access key 추출) cat ~/.aws/credentials | grep aws_access_key_id | awk '{print $3}' cat ~/.aws/credentials | grep aws_access_key_id | awk -F = '{print $2}' | tr -d ' ' grep -RP '(?
2022.12.14 -
tg_attr_deg_delay.sh
- 개요 target group을 생성하면 default deregistration delay timeout이 300초 이므로, 줄여서 사용하는 것을 추천한다. 기본적으로 TG가 300초 동안 기다렸다가 deregistration이 되어서 비용이 많이 발생하므로 특별한 이슈가 없다면 30초까지 줄이는 것을 추천한다. 기 존재하는 TG의 timeout 값을 확인하는 스크립트는 아래와 같다. - 스크립트 #!/bin/bash echo "ELB attributes" for i in $(aws elbv2 describe-target-groups --query TargetGroups[].TargetGroupArn --output text) do echo $i aws elbv2 describe-target-grou..
2022.12.07 -
elb_attr_delete_protection.sh
- 개요 AWS 리소스는 최초 생성시 대부분 삭제 방지 기능이 꺼져있는데, 삭제 방지 기능을 켜놓으면 실수로 삭제를 하게 될 경우를 미연에 방지할 수 있는 좋은 기능이다. 기 존재하는 ELB의 삭제 방지 기능을 확인하는 스크립트는 아래와 같다. 리스트 부분만 바꾸면 다른 리소스도 확인이 가능하다. - 스크립트 #!/bin/bash echo "ELB attributes" for i in $(aws elbv2 describe-load-balancers --query LoadBalancers[].LoadBalancerArn[] --output text) do echo $i aws elbv2 describe-load-balancer-attributes --load-balancer-arn $i --query 'A..
2022.12.07 -
retention 없는 CloudWatch logs의 log groups
- 개요 테라폼이나 AWS Web console에서 AWS 리소스를 생성할 때 CloudWatch Logs에 log group이 retention 설정 없이 생성되는 경우가 많으며 관리가 안돼서 비용이 과금되는 경우가 많다. 아래는 기 생성된 log groups의 retention을 확인하고 적용하는 명령어를 자동 생성해 주는 스크립트이다. - 스크립트 #!/bin/bash echo "CloudwatchLog without Retention Settings" for i in $(aws logs describe-log-groups --query logGroups[*].logGroupName[] --output text) do CloudwatchLogRetention=$(aws logs describe-lo..
2022.12.07 -
codepipeline stage status
- 개요 CodePipeline의 상태 확인을 할 수 있는 스크립트이다 - 스크립트 #!/bin/bash echo "CodePipeline Deploy Status" for i in {0..2}; do for codepipeline in $(aws codepipeline list-pipelines --query pipelines[].name --output text) do stage=$(aws codepipeline get-pipeline-state --name $codepipeline --query 'stageStates[].latestExecution[].status | '[$i]'' --output text) if [[ $stage == "Succeeded" ]] || [[ $stage == "No..
2022.11.21