Linux/Unix Power Tools 리눅스 커맨드 라인(linux command line) 명령어 사용법 Current: cron 에서 초 단위로 스케줄링하기 cron 에서 초 단위로 스케줄링하기 cron 은 분 단위로 스케줄링하기 때문에 초 단위 스케줄링하려면 약간의 꽁수가 필요합니다.스크립트에서 sleep 실행먼저 다음과 같이 초 단위로 스케줄링할 실행할 명령어(run-every-x-seconds.sh)를 crontab 에 등록합니다. crontab 설정 * * * * * /home/ec2-user/gist/run-every-x-seconds.sh BASH 초 단위로 실행하려면 스크립트에서 loop 를 돌면서 주기적으로 sleep 후에 명령어를 실행하면 됩니다.아래는 5초마다 echo 로 실행 시간을 출력하는 예제입니다. run-every-x-seconds.sh #!/usr/bin/env bash SLEEP_SECOND=5 function some_task { echo $(date "+%Y-%m-%d %H:%M:%S") ; } for i in $(seq -s " " 1 ${SLEEP_SECOND} 60);do some_task sleep ${SLEEP_SECOND}; done BASH 위 예에서 실행한 echo 구문은 지연될만한 요소가 없으므로 지정한 시간마다 실행되겠지만 만약 오래 걸리는 명령어를 실행한다면 "실행 시간" + "sleep 시간" 만큼 지연이 발생하게 됩니다.만약 오래 걸리는 명령어라면 back ground 로 실행해 주면 됩니다. run-every-x-seconds.sh #!/usr/bin/env bash SLEEP_SECOND=5 function some_task { echo $(date "+%Y-%m-%d %H:%M:%S") ; } for i in $(seq -s " " 1 ${SLEEP_SECOND} 60);do some_task & sleep ${SLEEP_SECOND}; done BASH 중복 실행 방지위 스크립트가 실행중일 때 1분이 지나면 다시 cron 에 의해 새로운 스크립트가 실행됩니다.이를 방지하려면 실행 여부를 나타내는 파일을 하나 만들고 실행시 체크하면 됩니다. Click here to expand... 위 gist 는 "중복 실행" 방지가 되지 않는 문제가 있습니다. 같이 보기리눅스 스케줄러 크론탭 사용법(Linux scheduler crontab)cron 사용법연속된 숫자를 나열하는 linux seq 명령어 사용법Refhttps://mingrammer.com/scheduling-cron-job-in-seconds-interval/https://stackoverflow.com/questions/9619362/running-a-cron-every-30-seconds ×