CRON 을 ShellScript로 처리하기

서버를 운영하다보면 여러가지 스케쥴러 작업을 실행할 일이 생깁니다. 내가 서버 관리자 이면은 그냥 귀찮음을 감수 하고 매번 등록을 하는것도 나쁘지 않지만 매번 찾아가서 맞추기는 솔직히 귀찮음이 발동을 해서 CRONTAB은 한개의 파일만 보고 실행을 할려고 만들었습니다.

#!/bin/bash
# 시스템 분 정보
NOW=$(date +"%M")
echo $NOW
# CRON 단일 파일로 처리 하기 위해서 분 단위 구분
let FULL=$NOW%60
let HALF=$NOW%30
let TEN=$NOW%10
# CRON 조건문 추가
if [ $FULL -eq 0 ]; then
	echo 'FULL'
	/volume1/@appstore/PHP7.4/usr/local/bin/php74 -q /volume2/publicedition/skem/index.php system cron dumy_noti
elif [ $HALF -eq 0 ]; then
	echo 'HALF'
elif [ $TEN -eq 0 ]; then
	echo 'TEN'
else
	echo 'ONE'
    /volume1/@appstore/PHP7.4/usr/local/bin/php74 -q /volume2/publicedition/skem/index.php system lot lot_check
fi

물론 단일 파일이라서 CRONTAB하고는 작동 방법이 조금 다르지만 언제나 내 좋을대로만 움직일수 없기에 가장 협의를 본 방법입니다. 이 방법외에도 많지만 관리자에게 말을 하지 않아도 된다는점이 저는 큰 이점이라고 생각을 합니다.

위에 제시된 방법은 일발적인 Server에서 하는 방법은 아닙니다. 물론 명령어만 달리하면 동일하게 사용이 되지만 위에 방법은 Synologye에서 Crontab을 사용한다는 가정하에서 만들었습니다. 그 중에서도 PHP를 실행해야 되는 부분을 중점을 두고 만든 파일입니다.

소스가 SVN, GIT으로 공유되지 때문에 누구나 스케쥴러를 등록해서 사용을 할 수 있고 배포시에 바로 적용되는 이점이 있어서 사용을 하는것입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다