반응형
0 0 * * Sun [ $(expr $(date +\%W) \% 2) -eq 1 ] && /path/to/command
$(date +\%W) 해당일의 주차를 표시 ( 1~52 )
$(expr $(date +\%W) \% 2) 연산자 expr을 사용하여 2로 나누었을때 나머지값 출력( 0 or 1 ),
$(expr $(date +\%W) \% 2) -eq 1 연산자 -eq를 사용해서 0 (true) or 1 (false)를 출력
[ $(expr $(date +\%W) \% 2) -eq 1 ] && /path/to/command
대괄호를 묶은 앞의 값이 true이면 && 를 사용하여 다음 명령어도 실행합니다.
대괄호 묶은 값이 false인경우 && 뒤에 나오는 명령어는 실행하지 않습니다.
cron에서 (%) percent character를 만나면 라인개행을 합니다. 그렇기에 이스케이프 처리를 해야됩니다.
이스케이프 처리는 역슬래쉬(\) 접두어를 두면 됩니다.
Percent-signs (%) in the command, unless escaped with backslash (\),
will be changed into newline characters, and all data after the
first % will be sent to the command as standard input.
날짜 변화를 줘서 결과값을 확인할수 있습니다.
명령어 반환값은 echo $? 로 확인 가능합니다. 0 (ture), 1 (false)
# [ $(expr $(date -d '20200222' +\%W) \% 2 ) -eq 1 ] && echo 'run'
# echo $?
'Linux > 기본명령어&팁' 카테고리의 다른 글
CentOS7 nvme-cli (NVME온도확인) (0) | 2022.06.14 |
---|---|
Text to ASCII (Shell) (0) | 2021.09.22 |
smartctl (디스크 정보 및 검사) (0) | 2020.02.09 |
cp 명령어 (파일권한, selinux context 유지방법) (0) | 2020.02.09 |
watch 를 이용한 실시간 모니터링 (0) | 2019.04.16 |