[SHELL] 특정 날짜를 입력받아 지정된 날짜까지 LOOP 실행하기
개발/Linux2015. 1. 28. 15:37
사용자의 특정 날짜를 입력 받아서 지정된 날짜까지 일별로 loop를 돌면서 처리해야 하는 경우
해당 쉡을 사용한다.
간단하지만 변수에 담긴 date를 증가 및 감소 하는 법을 알지 못해 고생했다.
실행방법은 ./dateLoopRunShell.sh 20101120 형태로 사용하면 인자는 yyyymmdd 형태의 시작일을 입력한다.
해당 쉘의 종료일은 쉘을 실행시키는 시점의 날짜가 되며 20101120 ~ 현재일까지 날짜를 출력한다.
20101120
20101121
20101122
20101123
.
.
.
20150128
echo 부분을 주석처리 하고 해당 부분에 처리할 로직을 넣어서 실행한다.
dateLoopRunShell.sh
#!/bin/bash
echo "HELLO SHELL"
START=$(date --date=$1 +"%Y%m%d")
END=$(date +"%Y%m%d")
CURRENT="$START"
#echo `date -d "$CURRENT 1 day" +"%Y%m%d"`
while [ "$CURRENT" != "$END" ]; do
echo $CURRENT
#run shell job
CURRENT=`date -d "$CURRENT 1 day" +"%Y%m%d"`
done
'개발 > Linux' 카테고리의 다른 글
crontab 설명 (0) | 2015.05.06 |
---|---|
centos inotify install (0) | 2015.04.22 |
windows OS 에서 port 및 프로세스 확인 (0) | 2014.04.08 |
[linux]ssh 비밀번호 없이 접속하기 (0) | 2013.04.25 |
centos 5.3 svn 설치 (0) | 2012.06.01 |