기타/Linux
linux) bash script로 yyyymmdd 뽑기
MightyTedKim
2023. 1. 9. 22:23
728x90
반응형
예상 독자
- bash script로 달력 구현이 필요하신 분
- airflow jinja 작업 전에 테스트가 필요하신 분
1년치 데이터를 이전하는 작업을 하게 되었는데
매일 해야하는 작업이라 airflow로 구현하기로 결정햇어요
일단 script로 for loop 돌려서, $1으로 입력받는 값을 넘기는 방식으로 테스트를 했어요
#!/bin/bash
kdts="$@"
for kdt in $kdts
do
# if .bak backup file exists, read next file
echo kdt=${kdt}
mc mirror --overwrite ceph-source/testkdt=${kdt} ceph-target/test/kdt=${kdt}
echo kdt=${kdt} finished
done
그런데 365개 출력하는 방법이 있을 것 같아서 검색해봣어요
airflow jinja로 하면 되기는 하지만 그냥 궁금해서....ㅋㅋㅋ
#!/bin/bash
M=`printf "%.2d" $2`
STARTDAY="$1/$M/01"
LASTDAY=$(date -d "$STARTDAY + 1 month - 1 day" "+%d")
for i in $(seq 1 $LASTDAY); do
D=`printf "%.2d" $i`
echo "$1$M$D"
echo kdt="$1$M$D"
mc mirror --overwrite ceph-source/testkdt=${kdt} ceph-target/test/kdt=${kdt}
echo kdt=${kdt} finished
done
./test.sh 2022 01
./test.sh 2022 02
./test.sh 2022 03
이런식으로 하면 한달치 데이터를, 하루양만큼 반복해서 복사할 수 있으니까 편해지더라고
728x90
반응형