script 7

[Linux] nc 명령어로 기관 통신 모니터링 스크립트

타임아웃을 3초로 설정하여 기관별 통신테스트 하는 스크립트입니다.#!/bin/bash# 기관 목록을 배열로 정의합니다.declare -A institutions=( ["기관1"]="123.45.67.89:80" ["기관2"]="98.76.54.32:80" ["기관3"]="135.79.86.42:80" ["기관4"]="246.80.135.79:80" ["기관5"]="192.168.1.1:80")# 비정상적인 기관들의 목록을 저장할 변수를 초기화합니다.unhealthy_institutions=""# 각 기관의 통신 상태를 확인합니다.for institution in "${!institutions[@]}"; do ip_port=(${institutions[$insti..

Linux 2024.05.02

[Linux] SSL,TLS 인증서 만료일 체크하여 Mattermost 전송

아래 스크립트는 도메인,포트 형식의 목록을 사용하여 SSL 인증서의 만료일자를 확인하고, 갱신일이 30일 이하인 경우에 대한 정보를 Mattermost로 전송하도록 작성하였습니다.#!/bin/bash# 도메인과 포트 목록 (도메인,포트 형식으로 정의)declare -A domainsdomains["www.naver.com"]="443"domains["example.com"]="443"domains["google.com"]="443"# 각 도메인,포트별로 SSL 인증서 정보를 가져오는 함수 정의get_ssl_info() { local domain="$1" local port="$2" local expiry_date expiry_date=$(openssl s_client -connect..

Linux 2024.04.30

[CloudFoundary] cf 명령어로 모든 앱 중지, 시작 스크립트

Cloud Foundry는 애플리케이션 중심의 관리를 하기 때문에 직접적으로 컨테이너를 중지하거나 시작하는 명령어는 제공되지 않습니다. 대신, Cloud Foundry는 애플리케이션 단위로 관리합니다. 따라서 각 애플리케이션을 중지하고 시작하는 방법을 알려드릴 수 있습니다. 아래는 Bash 스크립트를 사용하여 Cloud Foundry에서 모든 애플리케이션을 중지하고 시작하는 간단한 예제입니다. 이 스크립트는 cf apps 명령어로 애플리케이션 목록을 가져온 다음, 각 애플리케이션에 대해 중지 또는 시작 명령어를 실행합니다. #!/bin/bash # cf 명령어가 설치되어 있어야 합니다. # 애플리케이션 목록 가져오기 app_list=$(cf apps | awk 'NR>2 {print $1}') # 모든 ..

Cloud 2024.01.12

[Jenkins] jenkins pipline script 에서 sh ''' 사용 방법

Jenkins Pipeline에서 sh 스텝을 사용하면 쉘 명령어를 실행할 수 있습니다. 이 스텝을 사용하여 여러 명령어를 실행하려면 Groovy의 다중 줄 문자열 문법(''')을 사용합니다. 아래는 Jenkins Pipeline 스크립트에서 sh 스텝과 '''를 사용하는 방법에 대한 예제입니다: pipeline { agent any stages { stage('Example Stage') { steps { script { // 여러 줄 명령어 실행을 위해 ''' 사용 sh ''' echo "Hello, World" ls -l # 다른 명령어 추가 가능 ''' } } } } } 위의 예제에서는 sh 스텝 내부에서 '''로 둘러싼 다중 줄 문자열을 사용하여 여러 명령어를 실행하고 있습니다. 각 명령어는 다..

CI-CD 2023.11.28

[Linux] 중복 파일을 확인하는 스크립트

때론 운영하다가 중복파일을 추출하는 스크립트입니다. 참고만 하고, 필요한 부분은 보완하도록 하자! 예제1 #!/bin/bash # 중복된 파일을 확인하는 스크립트 # 검사할 디렉토리를 지정합니다. directory_to_check="/root/mnt" # 중복된 파일을 찾을 함수를 정의합니다. find_duplicate_files() { # 모든 파일을 검색하고 파일 크기와 함께 정렬합니다. find "$directory_to_check" -type f -exec stat -c "%s %n" {} \; | \ awk '{if (a[$1]) print $1, $2; else a[$1]=$2}' | \ sort -n > duplicate_files.txt # 중복된 파일 목록을 출력합니다. echo "중복된..

Linux 2023.09.22

[Linux] 원본폴더와 백업폴더의 파일 비교 후 다른 점 결과 출력

리눅스에서 원본폴더와 백업폴더 안에 모든 파일을 비교하여, 각 항목마다 결과파일을 각각 생성하는 스크립트다. 1. 파일 개수 비교 2. 각 파일별 용량 비교 및 내용 비교 결과 3. 원본과 백업의 폴더 및 파일이 추가/삭제된 목록 #!/bin/bash # 결과 파일 이름 설정 file_count_result="file_count_result.txt" comparison_result="comparison_result.txt" changes_result="changes_result.txt" # 원본 폴더와 백업 폴더 경로 설정 src_dir="/home/orangepi/Downloads/comp1" backup_dir="/home/orangepi/Downloads/comp2" # 1. 파일 개수 비교하고, ..

Linux 2023.09.21

[Kubernetes] k3s 에서 명령어를 간소화하기 위한 스크립트

k3s 클러스터를 관리할 때 반복적으로 사용하는 명령어를 간소화하기 위해 스크립트를 작성하는 것이 좋습니다. 이를 통해 더 효율적으로 클러스터를 관리할 수 있습니다. 아래는 k3s 명령어를 간소화하기 위한 예시 스크립트입니다. 이 스크립트는 k3s 클러스터에서 자주 사용되는 일부 명령어를 별칭으로 정의합니다. #!/bin/bash # k3s alias commands alias k=kubectl alias ksys="k get nodes && k get pods --all-namespaces" alias kdes="k describe pod" alias klo="k logs -f" # k3s cluster management functions function k3s-up { sudo k3s server ..

Kubernetes 2023.05.01