curl9 [Linux 셸 스크립트] bash - 124 셸 변수를 정수값 같은 속성으로 선언하기 1. 사용 명령어 (1) declare (2) curl 2. 키워드 & 사용처 (1) 키워드 bash, 변수, 속성, 자료형, 산술 확장 (2) 사용처 셸 변수를 정수값으로 선언해서 자동으로 계산하고 싶을 때 사용합니다. 3. 실행 예제 $ ./bash-declare.sh URL을 자동 생성해서 내려받기 4. 스크립트 #!/bin/bash url_template="http://www.example.org/download/img_%3d.jsg" # 카운터 변수 count를 정수형으로 선언 declare -i count=0 ① while [ $count -le 10 ] do url=$(printf "$url_template" $count) curl -O "$url" # count를 1 늘림. expr 명령어.. 2021. 7. 6. [Linux 셸 스크립트] 서버 관리 - 119 웹 페이지 변경 감시하기 1. 사용 명령어 (1) curl (2) cmp (3) echo (4) date 2. 키워드 & 사용처 (1) 키워드 URL, 파일 변경, 감시 (2) 사용처 비정기적으로 변경되는 웹 사이트 내용을 감시해서 변경이 있으면 알리고 싶을 때 사용합니다. 3. 실행 예제 $ ./url-diffcheck.sh [2021/06/11 12:12:12] 파일이 변경되었습니다. 대상 URL: http://www.example.org/update.html 4. 스크립트 #!/bin/sh # 감시 대상 URL url="http://www.example.org/update.html" ① # 내려받기 파일명 정의 newfile="new.dat" ② oldfile="old.dat" ② # 파일 내려받기 curl -so "$ne.. 2021. 6. 11. [Linux 셸 스크립트] 서버 관리 - 115 웹 접근 감시하기 1. 사용 명령어 (1) curl (2) date (3) echo 2. 키워드 & 사용처 (1) 키워드 웹 감시, 서비스 감시, HTTP 스테이터스 코드 (2) 사용처 운용하는 웹 서비스에서 접근 확인을 정기적으로 실행해서 이상 발생 시 경고 통지를 하고 싶을 때 사용합니다. 3. 실행 예제 $ ./web-curlcheck.sh [2021/05/13 12:12:12] HTTP 스테이터스 이상:HTTP status[503] ALERT... 4. 스크립트 #!/bin/sh # 감시 대상 URL 지정 url="http://www.example.org/webapps/check" ① # 현재 시각을 [2021/05/13 12:12:12] 형식으로 조합 date_str=$(date '+%Y/%m/%d %H:%M:%.. 2021. 5. 13. [Linux 셸 스크립트] 제어 구문 - 103 웹 서버에서 파일을 내려받아서 MD5 해시값 계산하기 1. 사용 명령어 (1) curl (2) md5sum 2. 키워드 & 사용처 (1) 키워드 내려받기, 종료 스테이터스 (2) 사용처 네트워크 경유로 파일을 취득할 때 복사에 성공했는지 확인해서 다음 명령어를 실행하고 싶을 때 사용합니다. 3. 실행 예제 $ ./andlist.sh 83036ec1109bf9770fc2d8673b545d35 sample.dat 4. 스크립트 #!/bin/sh # 내려받을 파일 URL 경로, 파일명 지정 url_path="http://www.example.org/" ① filename="sample.dat" ① # 파일 내려받기, 내려받기에 성공하면 md5 해시값 표시 # Mac/FreeBSD라면 md5sum 명령어가 아니라 md5 명령어 사용 curl -sO "${url_p.. 2021. 4. 21. [Linux 셸 스크립트] 제어 구문 - 100 강제 종료될 때까지 파일 내려받기를 반복해 통신 확인하기 1. 사용 명령어 (1) true (2) curl (3) sleep 2. 키워드 & 사용처 (1) 키워드 무한 반복, 접속 확인, 내려받기 (2) 사용처 웹 서버 확인을 계속 반복하고 싶을 때 사용합니다. 3. 실행 예제 $ ./download-loop.sh [check OK] [check OK] [check OK] [check OK] [check OK] ^C 2021. 4. 20. [Linux 셸 스크립트] 제어 구문 - 099 연속된 파일명을 가진 URL을 자동 생성해서 순서대로 내려받기 1. 사용 명령어 (1) seq (2) printf (3) curl 2. 키워드 & 사용처 (1) 키워드 연속번호, URL, 내려받기 (2) 사용처 파일명에 연속한 번호가 있는 그림 파일을 웹 서버에서 자동으로 내려받고 싶을 때 사용합니다. 3. 실행 예제 $ ./number-file.sh ${i}.txt done 파일 내려받기 확인 등의 목적으로 이런 파일을 작성하는 스크립트가 자주 사용됩니다. 이 스크립트는 필자 환경에서는 0.1초도 걸리지 않습니다. while문으로 작성해서 expr 명령어로 카운터를 늘려가면 1.2초 정도 걸립니다. 이처럼 seq 명령어로 반복을 만들면 10배 이상 빨라지게 됩니다. ①에서 내려받을 파일 URL을 지정합니다. 이때 연속 번호 부분은 %03d라는 printf 명령어로.. 2021. 4. 20. [Linux 셸 스크립트] 셸 기능 다루기 - 095 여러 URL 파일을 동시에 병렬로 내려받기 1. 사용 명령어 (1) curl 2. 키워드 & 사용처 (1) 키워드 백그라운드, 병렬 처리, 내려받기 (2) 사용처 대기 시간이 있는 명령어가 많아서 병렬로 실행해 전체 실행 시간을 줄이고 싶을 때 사용합니다. 3. 실행 예제 $ ./background-download.sh $ &1을 같이 사용할 때는 &를 어디에 위치시켜야 할까요? 다음처럼 백그라운드 실행을 위한 &를 제일 끝에 붙이는 것이 정답입니다. #!/bin/sh # 시간이 걸리는 명령어 long_time_program 표시 결과를 # result.log에 리다이렉트하고 백그라운드로 실행 long_time_program > result.log 2>&1 & 하지만 병렬로 프로세스를 실행하면 서버에 부담이 됩니다. 따라서 많은 처리를 백그라운드.. 2021. 4. 19. [Linux 셸 스크립트] 사용자 인터페이스 - 004 암호 입력 시 사용자 키 입력을 표시하지 않기 1. 사용 명령어 (1) stty (2) read (3) wget (4) curl 2. 키워드 & 사용처 (1) 키워드 암호 (2) 사용처 사용자가 암호를 입력하는 처리에서 입력된 문자열을 화면에 표시하고 싶지 않을 때 사용합니다. 3. 실행 예제 $ ./pass_wget.sh Password : 2021. 3. 2. [Linux 셸 스크립트] 사용자 인터페이스 - 002 키보드에서 Ctrl +c를 입력했을때 현재 상태를 출력하며 종료하기 1. 사용 명령어 (1) trap (2) exit (3) curl (4) sleep 2. 키워드 & 사용처 (1) 키워드 시그널, 트랩, 종료 (2) 사용처 시간이 오래 걸리는 처리나 무한 반복 처리에서 사용자가 도중에 종료를 하기 위해서 Ctrl + C 키를 입력하더라도 종료하기 전에 어떤 처리를 했는지 확인하고 싶을 때 사용합니다. 3. 실행 예제 $ ./sigint.sh http:/www.example.org/ %Total%Received%XferdAverage DloadSpeed UploadTime TotalTime SpentTime LeftCurrent Speed 100127010012700029030--:--:----:--:----:--:--9921 %Total%Received%XferdAve.. 2021. 3. 2. 이전 1 다음