bash(10)
-
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 -
ECR repository life-cycle-policy 확인
- 개요 ECR에서 repository를 생성할 경우 LifeCyclePolicy가 기본적으로 없이 생성되므로 과금의 원인이 된다. 아래는 기 존재하는 repository의 LifeCyclePolicy가 있는지 확인해주는 스크립트 이다 - 스크립트 #!/bin/bash for i in $(aws ecr describe-repositories --query 'repositories[*].repositoryName[]' --output text) do ecr=$(aws ecr get-lifecycle-policy --repository-name $i 2>/dev/null) if [ $? == 0 ]; then echo good else echo $i has no life cycle policy fi done
2022.11.04 -
같은 커맨드 여러 번 반복해서 실행
- 개요 bash에서 같은 명령어를 수 차례 반복하는 테스트는 많이 하므로 아래 스크립트 예제로 간단히 정리 했다. - 스크립트 ## 20번 반복 for i in `seq 20`; do echo hello; done ** seq뒤에 숫자로 반복 횟수 결정
2022.11.01