일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 빅데이터
- 클라우드자격증
- IAM
- 코딩테스트
- AWS자격증
- mysql
- 데이터베이스
- CLF-01
- EC2
- hive
- 빅데이터실무자격증
- AWSCloudPractitioner
- Identity and access management
- 하둡
- CCAAdministrator
- sql자격증
- Multi Factor Authentication
- CCA131
- 프로그래머스
- hadoop
- 파이썬
- RDBMS
- 쉘스크립트
- SQL
- 클라우데라자격증
- MFA
- programmers
- 리눅스
- 클라우드컴퓨팅
- SQLD
- Today
- Total
목록쉘스크립트 (4)
Sherry IT Blog
그동안 사용자 그룹이 달라서 자체적으로 삭제를 못하다가 배치실행계정으로 삭제할수 있게 되서 자동화 프로그램을 만들어봤다. 플랫폼 서버내에 주기적으로 쌓이는 파일을 한꺼번에 정리하기 위해 만든 함수 공통으로 사용되는 shell.properties 파일에 함수 삽입 function file_drop(){ $1 : file_dir $2 : file_name $3 : 확장자(.txt / .dat /.csv) $4 : 삭제기준 날짜변수(YYYYMM or YYYYMMDD) #입력파라메터체크 if [ -z "$*" ];then #$*는 모든 파라메터 echo "file drop function 파라메터 미입력" && eixt 9 else echo "input argument : ["$1"] | ["$2"] | ["$..
앞의 글에서 만든 반환 함수안에서 입력받은 값이 날짜 값인지 판별하기 입력값 예시 > 20211002 (YYYYMMDD형식) #!/bin/bash ODATE=$1 result="" function getLastDay(){ if [[ "$ODATE" =~ [20]{2}[0-9]{2}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}$ ]]; then #YYYYMMDD날짜 형식인지 판별 LASTDAY=`date -d "$ODATE -2 days" +%Y%m%d` echo "LASTDAY is $LASTDAY" else #날짜형식이 아닐때 echo "Not the LASTDAY" fi } result=$(LASTDAY) echo $result
쉘스크립트에서 프로그램 실행 리턴값은 exit결과 값으로 들어온다. exit $? #실행결과값을 가져온다. exit 결과값은 숫자값인데 0 은 정상 1 ~255 범위 값은 오류 때문에 쉘 실행으로 반환값을 다른쉘로 넘겨주고 싶으면, 함수를 생성하여 변수로 넘겨주면된다. 아래는 내가 맡고 있는 프로그램개발 중 배치실행기준일(ODATE) -2 day 로 전월말일자를 알아내서 갖고오는 로직 중 일부 #!/bin/bash ODATE=$1 result="" function getLastDay(){ LASTDAY=`date -d "$ODATE -2 days" +%Y%m%d` echo "LASTDAY is $LASTDAY" } result=$(LASTDAY) echo $result 결과 입력값 : 20211002 L..
배치 쉘스크립트 만들때 기본적으로 들어가는 날짜변수들 #!/bin/bash TODAY=$(date "+%Y%m%d") #오늘 DAY_PRE1=$(date "+%Y%m%d" -d 1 day ago') #하루전 DAY_PRE7=$(date "+%Y%m%d" -d 6 7day ago') #일주일전 MONTH_PRE1=$(date "+%Y%m%d" -d 1 month ago') #한달전 MONTH_PRE6=$(date "+%Y%m%d" -d 6 month ago') #6개월전 #입력받은 날짜변수에서 연산 $1 -> YYYYMMDD LASTDAY=$(date -d "$1 -2 days" "%Y%m%d") #2일전 NEXTDAY=$(date -d "$1 +1 day" "%Y%m%d") #+1일